Exibir a definição de um procedimento armazenado

Você pode exibir a definição de um procedimento armazenamento no SQL Server Management Studio usando as opções de menu do Pesquisador de Objetos ou no Editor de Consultas usando Transact-SQL. Este tópico descreve como exibir a definição de procedimento no Pesquisador de Objetos e usando um procedimento armazenado do sistema, uma função de sistema e a exibição do catálogo de objetos no Editor de Consultas.

  • Antes de começar: Segurança

  • Para exibir a definição de um procedimento usando: SQL Server Management Studio, Transact-SQL

Antes de começar

Segurança

Permissões

[Início]

  • Procedimento armazenado do sistema: sp_helptext
    Exige a associação à função public. Definições de objeto de sistema são publicamente visíveis. A definição de objetos de usuário é visível ao proprietário do objeto e aos que possuírem qualquer uma das seguintes permissões: ALTER, CONTROL, TAKE OWNERSHIP ou VIEW DEFINITION.

  • Função do sistema: OBJECT_DEFINITION
    Definições de objeto de sistema são publicamente visíveis. A definição de objetos de usuário é visível ao proprietário do objeto e aos que possuírem qualquer uma das seguintes permissões: ALTER, CONTROL, TAKE OWNERSHIP ou VIEW DEFINITION. Estas permissões são mantidas implicitamente por membros das funções de banco de dados fixas db_owner, db_ddladmine db_securityadmin.

  • Exibição do catálogo de objetos: sys.sql_modules
    A visibilidade dos metadados em exibições do catálogo está limitada aos protegíveis que pertencem a um usuário ou para os quais o usuário recebeu permissão. Para obter mais informações, consulte Configuração de visibilidade de metadados.

Como exibir as definições de um procedimento armazenado

Você pode usar uma das seguintes opções:

  • SQL Server Management Studio

  • Transact-SQL

Usando o SQL Server Management Studio

Para exibir a definição de um procedimento armazenado no Pesquisador de Objetos

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados e, em seguida, expanda essa instância.

  2. Expanda Bancos de Dados, expanda o banco de dados ao qual pertence o procedimento e expanda Programação.

  3. Expanda Procedimentos Armazenados, clique com o botão direito no procedimento, em seguida clique em Procedimento Armazenado de Script como e clique em um dos seguintes: Criar Para, Alterar Para ou Remover e Criar Para.

  4. Selecione Janela do Editor de Nova Consulta. Isso exibirá a definição de procedimento.

[Início]

Usando Transact-SQL

Para exibir a definição de um procedimento no Editor de Consultas

  • Procedimento armazenado do sistema: sp_helptext

    1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados.

    2. Na barra de ferramentas, clique em Nova Consulta.

    3. Na janela de consulta, insira a instrução a seguir que usa o procedimento armazenado do sistema sp_helptext. Altere os nomes do banco de dados e do procedimento armazenado para fazer referência ao banco de dados e ao procedimento armazenado que você quer.

      USE AdventureWorks2012;
      GO
      EXEC sp_helptext N'AdventureWorks2012.dbo.uspLogError';
      
  • Função do sistema: OBJECT_DEFINITION

    1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados.

    2. Na barra de ferramentas, clique em Nova Consulta.

    3. Na janela de consulta, insira as instruções a seguir que usam a função de sistema OBJECT_DEFINITION. Altere os nomes do banco de dados e do procedimento armazenado para fazer referência ao banco de dados e ao procedimento armazenado que você quer.

      USE AdventureWorks2012;
      GO
      SELECT OBJECT_DEFINITION (OBJECT_ID(N'AdventureWorks2012.dbo.uspLogError'));
      
  • Exibição do catálogo de objetos: sys.sql_modules

    1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados.

    2. Na barra de ferramentas, clique em Nova Consulta.

    3. Na janela de consulta, insira as instruções a seguir que usam a exibição de catálogo sys.sql_modules. Altere os nomes do banco de dados e do procedimento armazenado para fazer referência ao banco de dados e ao procedimento armazenado que você quer.

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

[Início]

Consulte também

Referência

OBJECT_DEFINITION (Transact-SQL)

sys.sql_modules (Transact-SQL)

sp_helptext (Transact-SQL)

OBJECT_ID (Transact-SQL)

Conceitos

Criar um procedimento armazenado

Modificar um procedimento armazenado

Excluir um procedimento armazenado

Renomear um procedimento armazenado