Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:Banco de Dados SQL do
do Azure
Instância Gerenciada SQL do Azure
do Azure Synapse Analytics
do Analytics Platform System (PDW)
Banco de Dados SQL no Microsoft Fabric
Este tópico descreve como exibir dependências de procedimento armazenado no SQL Server usando o SQL Server Management Studio ou o Transact-SQL.
Antes de começar:Limitações e Restrições, de Segurança
Para exibir as dependências de um procedimento, usando:SQL Server Management StudioTransact-SQL
Antes de começar
Limitações e Restrições
Segurança
Permissions
Função do sistema: sys.dm_sql_referencing_entities
Requer a permissão CONTROL na entidade referenciada e a permissão SELECT no sys.dm_sql_referencing_entities. Quando a entidade referenciada é uma função de partição, a permissão CONTROL no banco de dados é necessária. Por padrão, a permissão SELECT é concedida ao público.
Função do sistema: sys.dm_sql_referenced_entities
Requer permissão SELECT em sys.dm_sql_referenced_entities e permissão VIEW DEFINITION na entidade de referência. Por padrão, a permissão SELECT é concedida ao público. Requer a permissão VIEW DEFINITION num banco de dados ou a permissão ALTER DATABASE DDL TRIGGER num banco de dados quando a entidade de referência é um gatilho DDL a nível de banco de dados. Requer a permissão VIEW ANY DEFINITION no servidor quando a entidade de referência é um gatilho DDL no nível do servidor.
Vista do catálogo de objetos: sys.sql_expression_dependencies
Requer a permissão VIEW DEFINITION no banco de dados e a permissão SELECT no sys.sql_expression_dependencies para o banco de dados. Por padrão, a permissão SELECT é concedida apenas aos membros da função de banco de dados fixa db_owner. Quando as permissões SELECT e VIEW DEFINITION são concedidas a outro usuário, o beneficiário pode exibir todas as dependências no banco de dados.
Como exibir as dependências de um procedimento armazenado
Você pode usar uma das seguintes opções:
Usando o SQL Server Management Studio
Para exibir as dependências de um procedimento no Pesquisador de Objetos
No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados e expanda essa instância.
Expanda Bancos de Dados, expanda o banco de dados ao qual o procedimento pertence e, em seguida, expanda Programabilidade.
Expanda Stored Procedures, clique com o botão direito do rato no procedimento e, em seguida, clique em Ver Dependências.
Exiba a lista de objetos que dependem do procedimento.
Exiba a lista de objetos dos quais o procedimento depende.
Clique em OK.
Usando Transact-SQL
Os exemplos de código neste artigo usam a base de dados de exemplo AdventureWorks2025 ou AdventureWorksDW2025, que pode ser descarregada a partir da página principal de Microsoft SQL Server Samples and Community Projects.
Para exibir as dependências de um procedimento no Editor de Consultas
Função do sistema: sys.dm_sql_referencing_entities
Esta função é usada para exibir os objetos que dependem de um procedimento.
No Pesquisador de Objetos , conecte-se a uma instância do Mecanismo de Banco de Dados e expanda essa instância.
Expanda Bancos de Dados, expanda o banco de dados ao qual o procedimento pertence.
Clique em Nova Consulta no menu Arquivo.
Copie e cole os exemplos a seguir no editor de consultas. O primeiro exemplo cria o procedimento
uspVendorAllInfo, que retorna os nomes de todos os fornecedores no banco de dados Ciclos da Adventure Works, os produtos que eles fornecem, suas classificações de crédito e sua disponibilidade.USE AdventureWorks2022; GO IF OBJECT_ID ( 'Purchasing.uspVendorAllInfo', 'P' ) IS NOT NULL DROP PROCEDURE Purchasing.uspVendorAllInfo; GO CREATE PROCEDURE Purchasing.uspVendorAllInfo WITH EXECUTE AS CALLER AS SET NOCOUNT ON; SELECT v.Name AS Vendor, p.Name AS 'Product name', v.CreditRating AS 'Rating', v.ActiveFlag AS Availability FROM Purchasing.Vendor v INNER JOIN Purchasing.ProductVendor pv ON v.BusinessEntityID = pv.BusinessEntityID INNER JOIN Production.Product p ON pv.ProductID = p.ProductID ORDER BY v.Name ASC; GODepois que o procedimento é criado, o segundo exemplo usa a função sys.dm_sql_referencing_entities para exibir os objetos que dependem do procedimento.
USE AdventureWorks2022; GO SELECT referencing_schema_name, referencing_entity_name, referencing_id, referencing_class_desc, is_caller_dependent FROM sys.dm_sql_referencing_entities ('Purchasing.uspVendorAllInfo', 'OBJECT'); GO
Função do sistema: sys.dm_sql_referenced_entities
Esta função é usada para exibir os objetos dos quais um procedimento depende.
No Pesquisador de Objetos , conecte-se a uma instância do Mecanismo de Banco de Dados e expanda essa instância.
Expanda Bancos de Dados, expanda o banco de dados ao qual o procedimento pertence.
Clique em Nova Consulta no menu Arquivo.
Copie e cole os exemplos a seguir no editor de consultas. O primeiro exemplo cria o procedimento
uspVendorAllInfo, que retorna os nomes de todos os fornecedores no banco de dados Ciclos da Adventure Works, os produtos que eles fornecem, suas classificações de crédito e sua disponibilidade.USE AdventureWorks2022; GO IF OBJECT_ID ( 'Purchasing.uspVendorAllInfo', 'P' ) IS NOT NULL DROP PROCEDURE Purchasing.uspVendorAllInfo; GO CREATE PROCEDURE Purchasing.uspVendorAllInfo WITH EXECUTE AS CALLER AS SET NOCOUNT ON; SELECT v.Name AS Vendor, p.Name AS 'Product name', v.CreditRating AS 'Rating', v.ActiveFlag AS Availability FROM Purchasing.Vendor v INNER JOIN Purchasing.ProductVendor pv ON v.BusinessEntityID = pv.BusinessEntityID INNER JOIN Production.Product p ON pv.ProductID = p.ProductID ORDER BY v.Name ASC; GODepois que o procedimento é criado, o segundo exemplo usa a função sys.dm_sql_referenced_entities para exibir os objetos dos quais o procedimento depende.
USE AdventureWorks2022; GO SELECT referenced_schema_name, referenced_entity_name, referenced_minor_name,referenced_minor_id, referenced_class_desc, is_caller_dependent, is_ambiguous FROM sys.dm_sql_referenced_entities ('Purchasing.uspVendorAllInfo', 'OBJECT'); GO
Vista do catálogo de objetos: sys.sql_expression_dependencies
Essa exibição pode ser usada para exibir objetos dos quais um procedimento depende ou que dependem de um procedimento.
Exibindo os objetos que dependem de um procedimento.
No Pesquisador de Objetos , conecte-se a uma instância do Mecanismo de Banco de Dados e expanda essa instância.
Expanda Bancos de Dados, expanda o banco de dados ao qual o procedimento pertence.
Clique em Nova Consulta no menu Arquivo.
Copie e cole os exemplos a seguir no editor de consultas. O primeiro exemplo cria o procedimento
uspVendorAllInfo, que retorna os nomes de todos os fornecedores no banco de dados Ciclos da Adventure Works, os produtos que eles fornecem, suas classificações de crédito e sua disponibilidade.USE AdventureWorks2022; GO IF OBJECT_ID ( 'Purchasing.uspVendorAllInfo', 'P' ) IS NOT NULL DROP PROCEDURE Purchasing.uspVendorAllInfo; GO CREATE PROCEDURE Purchasing.uspVendorAllInfo WITH EXECUTE AS CALLER AS SET NOCOUNT ON; SELECT v.Name AS Vendor, p.Name AS 'Product name', v.CreditRating AS 'Rating', v.ActiveFlag AS Availability FROM Purchasing.Vendor v INNER JOIN Purchasing.ProductVendor pv ON v.BusinessEntityID = pv.BusinessEntityID INNER JOIN Production.Product p ON pv.ProductID = p.ProductID ORDER BY v.Name ASC; GODepois que o procedimento é criado, o segundo exemplo usa o modo de exibição sys.sql_expression_dependencies para exibir os objetos que dependem do procedimento.
USE AdventureWorks2022; GO SELECT OBJECT_SCHEMA_NAME ( referencing_id ) AS referencing_schema_name, OBJECT_NAME(referencing_id) AS referencing_entity_name, o.type_desc AS referencing_description, COALESCE(COL_NAME(referencing_id, referencing_minor_id), '(n/a)') AS referencing_minor_id, referencing_class_desc, referenced_class_desc, referenced_server_name, referenced_database_name, referenced_schema_name, referenced_entity_name, COALESCE(COL_NAME(referenced_id, referenced_minor_id), '(n/a)') AS referenced_column_name, is_caller_dependent, is_ambiguous FROM sys.sql_expression_dependencies AS sed INNER JOIN sys.objects AS o ON sed.referencing_id = o.object_id WHERE referenced_id = OBJECT_ID(N'Purchasing.uspVendorAllInfo') GO
Apresentação dos objetos de que um procedimento depende.
No Pesquisador de Objetos , conecte-se a uma instância do Mecanismo de Banco de Dados e expanda essa instância.
Expanda Bancos de Dados, expanda o banco de dados ao qual o procedimento pertence.
Clique em Nova Consulta no menu Arquivo.
Copie e cole os exemplos a seguir no editor de consultas. O primeiro exemplo cria o procedimento
uspVendorAllInfo, que retorna os nomes de todos os fornecedores no banco de dados Ciclos da Adventure Works, os produtos que eles fornecem, suas classificações de crédito e sua disponibilidade.USE AdventureWorks2022; GO IF OBJECT_ID ( 'Purchasing.uspVendorAllInfo', 'P' ) IS NOT NULL DROP PROCEDURE Purchasing.uspVendorAllInfo; GO CREATE PROCEDURE Purchasing.uspVendorAllInfo WITH EXECUTE AS CALLER AS SET NOCOUNT ON; SELECT v.Name AS Vendor, p.Name AS 'Product name', v.CreditRating AS 'Rating', v.ActiveFlag AS Availability FROM Purchasing.Vendor v INNER JOIN Purchasing.ProductVendor pv ON v.BusinessEntityID = pv.BusinessEntityID INNER JOIN Production.Product p ON pv.ProductID = p.ProductID ORDER BY v.Name ASC; GODepois que o procedimento é criado, o segundo exemplo usa a exibição sys.sql_expression_dependencies para exibir os objetos dos quais o procedimento depende.
USE AdventureWorks2022; GO SELECT OBJECT_NAME(referencing_id) AS referencing_entity_name, o.type_desc AS referencing_description, COALESCE(COL_NAME(referencing_id, referencing_minor_id), '(n/a)') AS referencing_minor_id, referencing_class_desc, referenced_class_desc, referenced_server_name, referenced_database_name, referenced_schema_name, referenced_entity_name, COALESCE(COL_NAME(referenced_id, referenced_minor_id), '(n/a)') AS referenced_column_name, is_caller_dependent, is_ambiguous FROM sys.sql_expression_dependencies AS sed INNER JOIN sys.objects AS o ON sed.referencing_id = o.object_id WHERE referencing_id = OBJECT_ID(N'Purchasing.uspVendorAllInfo'); GO
Ver também
Renomear um procedimento armazenado
sys.dm_sql_referencing_entities (Transact-SQL)
sys.dm_sql_referenced_entities (Transact-SQL)
sys.sql_expression_dependencies (Transact-SQL)