it-swarm.com.de

Anzeigen des Codes für gespeicherte Prozeduren in SQL Server Management Studio

Ich bin neu in SQL Server. Ich bin über SQL Server Management Studio in meiner Datenbank angemeldet. 

Ich habe eine Liste gespeicherter Prozeduren. Wie zeige ich den Code für gespeicherte Prozeduren an? 

Ein Rechtsklick auf die gespeicherte Prozedur hat keine Option wie view contents of stored procedure.

Vielen Dank.

52
DG3

klicken Sie mit der rechten Maustaste auf die gespeicherte Prozedur und wählen Sie die gespeicherte Prozedur script als CREATE in New Query Editor Window/Clipboard/File aus

sie können auch ändern, wenn Sie mit der rechten Maustaste auf den Namen klicken

Wenn Sie mehr als 1 Proc auf einmal haben möchten, klicken Sie auf den Ordner für gespeicherte Prozeduren, drücken Sie F7, drücken Sie die STRG-Taste, und wählen Sie alle gewünschten aus. Klicken Sie dann mit der rechten Maustaste, und wählen Sie script gespeichert als CREATE 

36
SQLMenace

Ich denke, dies ist eine bessere Möglichkeit, den Code einer gespeicherten Prozedur anzuzeigen:

sp_helptext <name of your sp>
98
Kniganapolke

Die Option heißt Modify:

enter image description here

Dadurch wird der T-SQL-Code für Ihre gespeicherte Prozedur in einem neuen Abfragefenster mit einem ALTER PROCEDURE ...-Einstieg angezeigt, sodass Sie Ihre Prozedur leicht ändern oder ändern und aktualisieren können

33
marc_s

Dies ist eine weitere Möglichkeit, die Definition der gespeicherten Prozedur anzuzeigen

SELECT OBJECT_DEFINITION (OBJECT_ID(N'Your_SP'))
11
sqluser

Verwenden Sie die folgende Abfrage: -

SELECT object_definition(object_id) as [Proc Definition]
FROM sys.objects 
WHERE type='P'
7

Die anderen Antworten, die die Verwendung des Objekt-Explorers und die Skripterstellung der gespeicherten Prozedur für ein neues Abfrageeditorfenster und die anderen Abfragen empfehlen, sind feste Optionen. 

Ich persönlich mag die unten stehende Abfrage verwenden, um die Definition/den Code für gespeicherte Prozeduren in einer einzelnen Zeile abzurufen (ich verwende Microsoft SQL Server 2014, aber es sieht so aus, dass dies mit SQL Server 2008 und höher funktionieren sollte.)

SELECT definition 
FROM sys.sql_modules 
WHERE object_id = OBJECT_ID('yourSchemaName.yourStoredProcedureName')

Weitere Informationen zu sys.sql_modules: 

https://docs.Microsoft.com/de-de/sql/relational-databases/system-catalog-views/sys-sql-modules-transact-sql

5
Brian T.A.

sp_helptext 'your_sp_name'

In Management Studio werden die Ergebnisse standardmäßig in der Rasteransicht angezeigt. Wenn Sie es in der Textansicht sehen möchten, gehen Sie zu:

Abfrage -> Ergebnisse zu -> Ergebnisse zu Text

oder STRG + T und dann Ausführen.

4
Ryan

falls Sie wie ich keine Berechtigung zum 'Modifizieren' haben, können Sie ein kostenloses Tool namens "SQL Search" (von redgate) installieren. Ich verwende es, um nach Schlüsselwörtern zu suchen, von denen ich weiß, dass sie im SP sind, und es gibt eine Vorschau des SP -Codes mit hervorgehobenen Schlüsselwörtern zurück.

genial! Ich kopiere diesen Code dann in mein eigenes SP oder schaue ihn in an 

1

Mit dieser Abfrage können Sie den gesamten in der Datenbank gespeicherten Objektcode anzeigen:

    USE [test] --Database Name
SELECT
    sch.name+'.'+ob.name AS       [Object], 
    ob.create_date, 
    ob.modify_date, 
    ob.type_desc, 
    mod.definition
FROM 
     sys.objects AS ob
     LEFT JOIN sys.schemas AS sch ON
            sch.schema_id = ob.schema_id
     LEFT JOIN sys.sql_modules AS mod ON
            mod.object_id = ob.object_id
WHERE mod.definition IS NOT NULL --Selects only objects with the definition (code)