Condividi tramite


Visualizzare la definizione di una stored procedure

In SQL Server Management Studio è possibile visualizzare la definizione di una stored procedure mediante le opzioni di menu di Esplora oggetti o mediante Transact-SQL nell'editor di query. 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

  • Per visualizzare la definizione di una stored procedure mediante SQL Server Management Studio, Transact-SQL

Prima di iniziare

Sicurezza

Autorizzazioni

[Torna all'inizio]

  • 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 dispongono di 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 dispongono di 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_ddladmin e 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 ulteriori informazioni, vedere Configurazione della visibilità dei metadati.

Visualizzazione della definizione di una stored procedure

È possibile utilizzare uno dei seguenti elementi:

  • SQL Server Management Studio

  • Transact-SQL

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, quindi espandere tale istanza.

  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, infine fare clic su una delle opzioni seguenti: Genera codice per istruzione CREATE in, Genera codice per istruzione ALTER in o Genera codice per istruzioni DROP e CREATE in.

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

[Torna all'inizio]

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 utilizza 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 utilizzano 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 utilizzano 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'));
      

[Torna all'inizio]

Vedere anche

Riferimento

OBJECT_DEFINITION (Transact-SQL)

sys.sql_modules (Transact-SQL)

sp_helptext (Transact-SQL)

OBJECT_ID (Transact-SQL)

Concetti

Creazione di una stored procedure

Modificare una stored procedure

Eliminare una stored procedure

Rinominare una stored procedure