Condividi tramite


Visualizzare la definizione di una stored procedure

È possibile visualizzare la definizione di una stored procedure in SQL Server Management Studio usando Esplora oggetti opzioni di menu o nel Editor di query tramite Transact-SQL. In questo argomento viene descritto come visualizzare la definizione di una stored procedura in Esplora oggetti e nell'editor di query mediante una stored procedure di sistema, una funzione di sistema e una vista del catalogo dell'oggetto.

Prima di iniziare

Sicurezza

Autorizzazioni

Stored procedure di sistema: sp_helptext
È richiesta l'appartenenza al ruolo public . Le definizioni degli oggetti di sistema sono visibili pubblicamente. La definizione degli oggetti utente è visibile al proprietario degli oggetti o agli utenti autorizzati che hanno una delle autorizzazioni seguenti: ALTER, CONTROL, TAKE OWNERSHIP o VIEW DEFINITION.

Funzione di sistema: OBJECT_DEFINITION
Le definizioni degli oggetti di sistema sono visibili pubblicamente. La definizione degli oggetti utente è visibile al proprietario degli oggetti o agli utenti autorizzati che hanno una delle autorizzazioni seguenti: ALTER, CONTROL, TAKE OWNERSHIP o VIEW DEFINITION. Queste autorizzazioni sono assegnate implicitamente ai membri dei ruoli predefiniti del database db_owner, db_ddladmine db_securityadmin .

Vista del catalogo dell'oggetto: sys.sql_modules
La visibilità dei metadati nelle viste del catalogo è limitata alle entità a protezione diretta di cui l'utente è proprietario o per le quali dispone di autorizzazioni. Per altre informazioni, vedere Metadata Visibility Configuration.

Visualizzazione della definizione di una stored procedure

È possibile usare uno dei seguenti elementi:

Utilizzo di SQL Server Management Studio

Per visualizzare la definizione di una stored procedure in Esplora oggetti

  1. In Esplora oggetti connettersi a un'istanza del motore di database ed espanderla.

  2. Espandere Database, espandere il database a cui appartiene la stored procedure, quindi espandere Programmabilità.

  3. Espandere Stored procedure, fare clic con il pulsante destro del mouse sulla stored procedure, quindi scegliere Crea script per stored procedure, quindi fare clic su una delle opzioni seguenti: Genera codice per istruzione CREATE in, Genera codice per istruzione ALTER ino Genera codice per istruzioni DROP e CREATE in.

  4. Selezionare Nuova finestra editor di query. Verrà visualizzata la definizione della stored procedure.

Utilizzo di Transact-SQL

Per visualizzare la definizione di una stored procedure nell'editor di query

Stored procedure di sistema: sp_helptext

  1. In Esplora oggetti connettersi a un'istanza del motore di database.

  2. Sulla barra degli strumenti fare clic su Nuova query.

  3. Nella finestra Query immettere l'istruzione seguente che usano la stored procedure di sistema sp_helptext. Modificare il nome del database e della stored procedure in modo da indicare il database e la stored procedure desiderati.

    USE AdventureWorks2012;  
    GO  
    EXEC sp_helptext N'AdventureWorks2012.dbo.uspLogError';  
    

Funzione di sistema: OBJECT_DEFINITION

  1. In Esplora oggetti connettersi a un'istanza del motore di database.

  2. Sulla barra degli strumenti fare clic su Nuova query.

  3. Nella finestra Query immettere le istruzioni seguenti che usano la funzione di sistema OBJECT_DEFINITION. Modificare il nome del database e della stored procedure in modo da indicare il database e la stored procedure desiderati.

    USE AdventureWorks2012;  
    GO  
    SELECT OBJECT_DEFINITION (OBJECT_ID(N'AdventureWorks2012.dbo.uspLogError'));  
    

Vista del catalogo dell'oggetto: sys.sql_modules

  1. In Esplora oggetti connettersi a un'istanza del motore di database.

  2. Sulla barra degli strumenti fare clic su Nuova query.

  3. Nella finestra Query immettere le istruzioni seguenti che usano la vista del catalogo sys.sql_modules. Modificare il nome del database e della stored procedure in modo da indicare il database e la stored procedure desiderati.

    USE AdventureWorks2012;  
    GO  
    SELECT definition  
    FROM sys.sql_modules  
    WHERE object_id = (OBJECT_ID(N'AdventureWorks2012.dbo.uspLogError'));  
    

Vedi anche

Creazione di una stored procedure
Modificare una stored procedure
Eliminare una stored procedure
Rinominare una stored procedure
OBJECT_DEFINITION (Transact-SQL)
sys.sql_modules (Transact-SQL)
sp_helptext (Transact-SQL)
OBJECT_ID (Transact-SQL)