Exibir a definição de um procedimento armazenado

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)

Exibir a definição de um procedimento armazenado

Este artigo descreve como exibir a definição de procedimento no Pesquisador de Objetos e usando um procedimento armazenado do sistema, uma função do sistema e a exibição do catálogo de objetos no Editor de Consultas.

Segurança

Permissões

Procedimento armazenado do sistema: sp_helptext
Requer associação à função pública . Definições de objeto de sistema são publicamente visíveis. A definição de objetos do usuário é visível ao proprietário do objeto e às entidades autorizadas que tiverem 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 do usuário é visível ao proprietário do objeto e às entidades autorizadas que tiverem 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 fixas de banco de dados db_owner, db_ddladmine db_securityadmin .

Exibição de catálogo de objeto: 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 Metadata Visibility Configuration.

Observação

O procedimento armazenado do sistema sp_helptext não tem suporte no Azure Synapse Analytics. Em vez disso, use a exibição do catálogo de objetos sys.sql_modules. São fornecidos exemplos mais adiante neste artigo.

Como exibir as definições de um procedimento armazenado

Você pode usar um dos itens a seguir:

Como usar 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 expanda-a.

  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 do mouse no procedimento e selecione Criar script do Procedimento Armazenado como, depois escolha 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.

Usando o 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, selecione 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 AdventureWorks2022;  
    GO  
    EXEC sp_helptext N'AdventureWorks2022.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, selecione 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 AdventureWorks2022;  
    GO  
    SELECT OBJECT_DEFINITION (OBJECT_ID(N'AdventureWorks2022.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, selecione 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 AdventureWorks2022;  
    GO  
    SELECT [definition]
    FROM sys.sql_modules  
    WHERE object_id = (OBJECT_ID(N'dbo.uspLogError'));  
    

Confira também