Anzeigen der Definition einer gespeicherten Prozedur
Gilt für: SQL Server (alle unterstützten Versionen)
Azure SQL-Datenbank
Azure SQL verwaltete Instanz
Azure Synapse Analytics
Analytics Platform System (PDW)
Anzeigen der Definition einer gespeicherten Prozedur
In diesem Artikel wird beschrieben, wie die Prozedurdefinition im Objekt-Explorer und mit einer gespeicherten Systemprozedur, Systemfunktion und der Objektkatalogsicht im Abfrage-Editor angezeigt wird.
Vorbereitungen:Sicherheit
Anzeigen der Definition einer Prozedur unter Verwendung von:SQL Server Management Studio, Transact-SQL
Vorbereitungen
Sicherheit
Berechtigungen
Gespeicherte Systemprozedur: sp_helptext
Erfordert die Mitgliedschaft in der public -Rolle. Definitionen von Systemobjekten sind öffentlich sichtbar. Die Definition von Benutzerobjekten ist für den Objektbesitzer oder für Berechtigungsempfänger sichtbar, wenn diese über eine der folgenden Berechtigungen verfügen: ALTER, CONTROL, TAKE OWNERSHIP oder VIEW DEFINITION.
Systemfunktion: OBJECT_DEFINITION
Definitionen von Systemobjekten sind öffentlich sichtbar. Die Definition von Benutzerobjekten ist für den Objektbesitzer oder für Berechtigungsempfänger sichtbar, wenn diese über eine der folgenden Berechtigungen verfügen: ALTER, CONTROL, TAKE OWNERSHIP oder VIEW DEFINITION. Über diese Berechtigungen verfügen implizit Mitglieder der festen Datenbankrollen db_owner, db_ddladminund db_securityadmin .
Objektkatalogsicht: sys.sql_modules
Die Sichtbarkeit der Metadaten in Katalogsichten ist auf sicherungsfähige Elemente eingeschränkt, bei denen der Benutzer entweder der Besitzer ist oder für die dem Benutzer eine Berechtigung erteilt wurde. Weitere Informationen finden Sie unter Metadata Visibility Configuration.
Hinweis
Die gespeicherte Systemprozedur sp_helptext
wird in Azure Synapse Analytics nicht unterstützt. Verwenden Sie stattdessen die sys.sql_modules
-Objektkatalogsicht. Beispiele finden Sie weiter unten in diesem Artikel.
Anzeigen der Definition einer gespeicherten Prozedur
Sie können eine der folgenden Anwendungen verwenden:
Verwendung von SQL Server Management Studio
So zeigen Sie die Definition einer Prozedur im Objekt-Explorer an
Stellen Objekt-Explorer eine Verbindung mit einer Instanz von Datenbank-Engine und erweitern Sie dann diese Instanz.
Erweitern Sie Datenbanken, erweitern Sie die Datenbank, zu der die Prozedur gehört, und erweitern Sie dann Programmierbarkeit.
Erweitern Sie Gespeicherte Prozeduren, klicken Sie mit der rechten Maustaste auf die Prozedur, und klicken Sie anschließend auf Skript für gespeicherte Prozeduren als. Klicken Sie dann auf eine der folgenden Optionen: CREATE in, ALTER in oder Drop and Create in (DROP und CREATE in).
Wählen Sie Neues Abfrage-Editor-Fenster aus. Daraufhin wird die Prozedurdefinition angezeigt.
Verwenden von Transact-SQL
So zeigen Sie die Definition einer Prozedur im Abfrage-Editor an
Gespeicherte Systemprozedur: sp_helptext
Stellen Objekt-Explorer eine Verbindung mit einer Instanz des -Datenbank-Engine.
Klicken Sie in der Symbolleiste auf Neue Abfrage.
Geben Sie im Abfragefenster die folgende Anweisung ein, die die gespeicherte Systemprozedur
sp_helptext
verwendet. Ändern Sie den Datenbanknamen und den Namen der gespeicherten Prozedur so, dass diese auf die gewünschte Datenbank und die gespeicherte Prozedur verweisen.USE AdventureWorks2012; GO EXEC sp_helptext N'AdventureWorks2012.dbo.uspLogError';
Systemfunktion: OBJECT_DEFINITION
Stellen Objekt-Explorer eine Verbindung mit einer Instanz des -Datenbank-Engine.
Klicken Sie in der Symbolleiste auf Neue Abfrage.
Geben Sie im Abfragefenster die folgenden Anweisungen ein, die die
OBJECT_DEFINITION
-Systemfunktion verwenden: Ändern Sie den Datenbanknamen und den Namen der gespeicherten Prozedur so, dass diese auf die gewünschte Datenbank und die gespeicherte Prozedur verweisen.USE AdventureWorks2012; GO SELECT OBJECT_DEFINITION (OBJECT_ID(N'AdventureWorks2012.dbo.uspLogError'));
Objektkatalogsicht:
Stellen Objekt-Explorer eine Verbindung mit einer Instanz des -Datenbank-Engine.
Klicken Sie in der Symbolleiste auf Neue Abfrage.
Geben Sie im Abfragefenster die folgenden Anweisungen ein, die die
sys.sql_modules
-Katalogsicht verwenden: Ändern Sie den Datenbanknamen und den Namen der gespeicherten Prozedur so, dass diese auf die gewünschte Datenbank und die gespeicherte Prozedur verweisen.USE AdventureWorks2012; GO SELECT [definition] FROM sys.sql_modules WHERE object_id = (OBJECT_ID(N'dbo.uspLogError'));
Weitere Informationen
Erstellen einer gespeicherten Prozedur
Ändern einer gespeicherten Prozedur
Löschen einer gespeicherten Prozedur
Umbenennen einer gespeicherten Prozedur
OBJECT_DEFINITION (Transact-SQL)
sys.sql_modules (Transact-SQL)
sp_helptext (Transact-SQL)
OBJECT_ID (Transact-SQL)