sys.dm_sql_referenced_entities (Transact-SQL)sys.dm_sql_referenced_entities (Transact-SQL)

APLICA-SE A: simSQL Server simBanco de Dados SQL do Azure nãoSQL Data Warehouse do Azure nãoParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Retorna uma linha para cada entidade definida pelo usuário que é referenciada por nome na definição de entidade de referência especificada no SQL ServerSQL Server.Returns one row for each user-defined entity that is referenced by name in the definition of the specified referencing entity in SQL ServerSQL Server. Uma dependência entre duas entidades é criada quando uma entidade definida pelo usuário, denominada a entidade referenciada, aparece por nome em uma expressão SQL persistente de outra entidade definida pelo usuário, denominada a entidade de referência .A dependency between two entities is created when one user-defined entity, called the referenced entity, appears by name in a persisted SQL expression of another user-defined entity, called the referencing entity. Por exemplo, se um procedimento armazenado for a entidade de referência especificada, essa função retornará todas as entidades definidas pelo usuário que são referenciadas no procedimento armazenado como tabelas, exibições, UDTs (Tipos Definidos pelo Usuário) ou outros procedimentos armazenados.For example, if a stored procedure is the specified referencing entity, this function returns all user-defined entities that are referenced in the stored procedure such as tables, views, user-defined types (UDTs), or other stored procedures.

Você pode usar essa função de gerenciamento dinâmico para informar os seguintes tipos de entidades referenciadas pela entidade de referência especificada:You can use this dynamic management function to report on the following types of entities referenced by the specified referencing entity:

  • Entidades associadas a esquemaSchema-bound entities

  • Entidades não associadas a esquemaNon-schema-bound entities

  • Entidades entre banco de dados e entre servidoresCross-database and cross-server entities

  • Dependências no nível de coluna de entidades associadas e não associadas a esquemaColumn-level dependencies on schema-bound and non-schema-bound entities

  • Tipos definidos pelo usuário (alias e UDT CLR)User-defined types (alias and CLR UDT)

  • Coleções de esquemas XMLXML schema collections

  • Funções de partiçãoPartition functions

SintaxeSyntax

sys.dm_sql_referenced_entities (  
    ' [ schema_name. ] referencing_entity_name ' ,
    ' <referencing_class> ' )  
  
<referencing_class> ::=  
{  
    OBJECT  
  | DATABASE_DDL_TRIGGER  
  | SERVER_DDL_TRIGGER  
}  

ArgumentosArguments

[ schema_name.[ schema_name. ] referencing_entity_name] referencing_entity_name
É o nome da entidade de referência.Is the name of the referencing entity. schema_name é necessária quando a classe de referência é OBJECT.schema_name is required when the referencing class is OBJECT.

schema_name.referencing_entity_name está nvarchar(517) .schema_name.referencing_entity_name is nvarchar(517).

< Referencing_class > :: = {objeto | DATABASE_DDL_TRIGGER | SERVER_DDL_TRIGGER}<referencing_class> ::= { OBJECT | DATABASE_DDL_TRIGGER | SERVER_DDL_TRIGGER }
É a classe da entidade de referência especificada.Is the class of the specified referencing entity. Apenas uma classe pode ser especificada por instrução.Only one class can be specified per statement.

< referencing_class > está nvarchar(60) .<referencing_class> is nvarchar(60).

Tabela retornadaTable Returned

Nome da colunaColumn name Tipo de dadosData type DescriçãoDescription
referencing_minor_idreferencing_minor_id intint ID da coluna quando a entidade de referência for uma coluna; caso contrário, 0.Column ID when the referencing entity is a column; otherwise 0. Não permite valor nulo.Is not nullable.
referenced_server_namereferenced_server_name sysnamesysname Nome do servidor da entidade referenciada.Name of the server of the referenced entity.

Essa coluna é populada para dependências entre servidores que são feitas especificando um nome de quatro partes válido.This column is populated for cross-server dependencies that are made by specifying a valid four-part name. Para obter informações sobre nomes de várias partes, consulte convenções de sintaxe Transact-SQL (Transact-SQL).For information about multipart names, see Transact-SQL Syntax Conventions (Transact-SQL).

NULL para dependências não associadas a esquema para as quais a entidade foi referenciada sem especificar um nome de quatro partes.NULL for non-schema-bound dependencies for which the entity was referenced without specifying a four-part name.

NULL para entidades associadas a esquema porque elas devem estar no mesmo banco de dados e portanto, só podem ser definidas usando uma de duas partes (Schema) nome.NULL for schema-bound entities because they must be in the same database and therefore can only be defined using a two-part (schema.object) name.
referenced_database_namereferenced_database_name sysnamesysname Nome do banco de dados da entidade referenciada.Name of the database of the referenced entity.

Essa coluna é populada para referências entre servidores ou entre bancos de dados, que são feitas especificando um nome de três ou quatro partes válido.This column is populated for cross-database or cross-server references that are made by specifying a valid three-part or four-part name.

NULL para referências não associadas a esquema quando especificadas usando um nome de uma ou duas partes.NULL for non-schema-bound references when specified using a one-part or two-part name.

NULL para entidades associadas a esquema porque elas devem estar no mesmo banco de dados e portanto, só podem ser definidas usando uma de duas partes (Schema) nome.NULL for schema-bound entities because they must be in the same database and therefore can only be defined using a two-part (schema.object) name.
referenced_schema_namereferenced_schema_name sysnamesysname Esquema ao qual a entidade referenciada pertence.Schema in which the referenced entity belongs.

NULL para referências não associadas a esquema para as quais a entidade foi referenciada sem especificar o nome do esquema.NULL for non-schema-bound references in which the entity was referenced without specifying the schema name.

Jamais NULL para referências associadas a esquema.Never NULL for schema-bound references.
referenced_entity_namereferenced_entity_name sysnamesysname Nome da entidade referenciada.Name of the referenced entity. Não permite valor nulo.Is not nullable.
referenced_minor_namereferenced_minor_name sysnamesysname Nome da coluna quando a entidade referenciada é uma coluna; caso contrário, NULL.Column name when the referenced entity is a column; otherwise NULL. Por exemplo, referenced_minor_name é NULL na linha que lista a própria entidade referenciada.For example, referenced_minor_name is NULL in the row that lists the referenced entity itself.

Uma entidade referenciada é uma coluna quando uma coluna é identificada pelo nome na entidade de referência, ou quando a entidade pai é usada em uma instrução SELECT *.A referenced entity is a column when a column is identified by name in the referencing entity, or when the parent entity is used in a SELECT * statement.
referenced_idreferenced_id intint ID da entidade referenciada.ID of the referenced entity. Quando referenced_minor_id não é 0, referenced_id é a entidade na qual a coluna é definida.When referenced_minor_id is not 0, referenced_id is the entity in which the column is defined.

Sempre NULL para referências entre servidores.Always NULL for cross-server references.

NULL para referências entre bancos de dados quando a ID não pode ser determinada, porque o banco de dados está offline ou a entidade não pode ser associada.NULL for cross-database references when the ID cannot be determined because the database is offline or the entity cannot be bound.

NULL para referências dentro do banco de dados se a ID não puder ser determinada.NULL for references within the database if the ID cannot be determined. Para referências não associadas a esquema, a ID não pode ser resolvida quando a entidade referenciada não existe no banco de dados ou quando a resolução de nomes é dependente do chamador.For non-schema-bound references, the ID cannot be resolved when the referenced entity does not exist in the database or when the name resolution is caller dependent. No último caso, is_caller_dependent está definido como 1.In the latter case, is_caller_dependent is set to 1.

Jamais NULL para referências associadas a esquema.Never NULL for schema-bound references.
referenced_minor_idreferenced_minor_id intint ID da coluna quando a entidade referenciada é uma coluna; caso contrário, 0.Column ID when the referenced entity is a column; otherwise, 0. Por exemplo, referenced_minor_is é 0 na linha que lista a própria entidade referenciada.For example, referenced_minor_is is 0 in the row that lists the referenced entity itself.

Para referências não associadas a esquema, as dependências de coluna são informadas somente quando todas as entidades referenciadas podem ser associadas.For non-schema-bound references, column dependencies are reported only when all referenced entities can be bound. Se não for possível associar alguma entidade referenciada, nenhuma dependência no nível de coluna será informada e referenced_minor_id será 0.If any referenced entity cannot be bound, no column-level dependencies are reported and referenced_minor_id is 0. Consulte o exemplo D.See Example D.
referenced_classreferenced_class tinyinttinyint Classe da entidade referenciada.Class of the referenced entity.

1 = Objeto ou coluna1 = Object or column

6 = Tipo6 = Type

10 = Coleção de esquema XML10 = XML schema collection

21 = Função de partição21 = Partition function
referenced_class_descreferenced_class_desc nvarchar(60)nvarchar(60) Descrição de classe da entidade referenciada.Description of class of referenced entity.

OBJECT_OR_COLUMNOBJECT_OR_COLUMN

TYPETYPE

XML_SCHEMA_COLLECTIONXML_SCHEMA_COLLECTION

PARTITION_FUNCTIONPARTITION_FUNCTION
is_caller_dependentis_caller_dependent bitbit Indica que a associação de esquema para a entidade referenciada ocorre em tempo de execução; portanto, a resolução da ID da entidade depende do esquema do chamador.Indicates schema binding for the referenced entity occurs at run time; therefore, resolution of the entity ID depends on the schema of the caller. Isso ocorre quando a entidade referenciada é um procedimento armazenado, um procedimento armazenado estendido ou uma função definida pelo usuário chamada em uma instrução EXECUTE.This occurs when the referenced entity is a stored procedure, extended stored procedure, or user-defined function called within an EXECUTE statement.

1 = A entidade referenciada depende do chamador e é resolvida em tempo de execução.1 = The referenced entity is caller dependent and is resolved at run time. Nesse caso, referenced_id é NULL.In this case, referenced_id is NULL.

0 = A ID da entidade referenciada não é dependente do chamador.0 = The referenced entity ID is not caller dependent. Sempre 0 para referências associadas a esquema e referências entre bancos de dados e entre servidores que especificam explicitamente um nome de esquema.Always 0 for schema-bound references and for cross-database and cross-server references that explicitly specify a schema name. Por exemplo, uma referência para uma entidade no formato EXEC MyDatabase.MySchema.MyProc não é dependente do chamador.For example, a reference to an entity in the format EXEC MyDatabase.MySchema.MyProc is not caller dependent. Porém, uma referência no formato EXEC MyDatabase..MyProc é dependente do chamador.However, a reference in the format EXEC MyDatabase..MyProc is caller dependent.
is_ambiguousis_ambiguous bitbit Indica a referência é ambígua e pode ser resolvida em tempo de execução para uma função definida pelo usuário, um tipo definido pelo usuário (UDT) ou uma referência xquery para uma coluna do tipo xml.Indicates the reference is ambiguous and can resolve at run time to a user-defined function, a user-defined type (UDT), or an xquery reference to a column of type xml. Por exemplo, suponha que a instrução SELECT Sales.GetOrder() FROM Sales.MySales esteja definida em um procedimento armazenado.For example, assume the statement SELECT Sales.GetOrder() FROM Sales.MySales is defined in a stored procedure. Até que o procedimento armazenado seja executado, não se sabe se Sales.GetOrder() é uma função definida pelo usuário no esquema Sales ou é uma coluna denominada Sales do tipo UDT com um método denominado GetOrder().Until the stored procedure is executed, it is not known whether Sales.GetOrder() is a user-defined function in the Sales schema or column named Sales of type UDT with a method named GetOrder().

1 = A referência a uma função definida pelo usuário ou a um método UDT (Tipo Definido pelo Usuário) de coluna é ambígua.1 = Reference to a user-defined function or column user-defined type (UDT) method is ambiguous.

0 = A referência não é ambígua ou a entidade pode ser associada com êxito quando a função é chamada.0 = Reference is unambiguous or the entity can be successfully bound when the function is called.

Sempre 0 para referências associadas a esquema.Always 0 for schema-bound references.
is_selectedis_selected bitbit 1 = O objeto ou coluna é selecionada.1 = The object or column is selected.
is_updatedis_updated bitbit 1 = O objeto ou coluna é modificada.1 = The object or column is modified.
is_select_allis_select_all bitbit 1 = O objeto é usado em uma cláusula SELECT * (somente no nível do objeto).1 = The object is used in a SELECT * clause (object-level only).
is_all_columns_foundis_all_columns_found bitbit 1 = Todas as dependências de colunas do objeto poderiam ser encontradas.1 = All column dependencies for the object could be found.

0 = As dependências de colunas do objeto não poderiam ser encontradas.0 = Column dependencies for the object could not be found.
is_insert_allis_insert_all bitbit 1 = o objeto é usado em uma instrução INSERT sem uma lista de colunas (nível de objeto somente).1 = The object is used in an INSERT statement without a column list (object-level only).

Esta coluna foi adicionada no SQL Server 2016.This column was added in SQL Server 2016.
is_incompleteis_incomplete bitbit 1 = o objeto ou coluna tem um erro de associação e está incompleta.1 = The object or column has a binding error and is incomplete.

Esta coluna foi adicionada no SQL Server 2016 SP2.This column was added in SQL Server 2016 SP2.
     

ExceçõesExceptions

Retorna um conjunto de resultados vazio em qualquer uma das seguintes condições:Returns an empty result set under any of the following conditions:

  • Um objeto de sistema é especificado.A system object is specified.

  • A entidade especificada não existe no banco de dados atual.The specified entity does not exist in the current database.

  • A entidade especificada não faz referência a nenhuma entidade.The specified entity does not reference any entities.

  • Um parâmetro inválido é passado.An invalid parameter is passed.

Retorna um erro quando a entidade de referência especificada é um procedimento armazenado numerado.Returns an error when the specified referencing entity is a numbered stored procedure.

Retorna o erro 2020 quando as dependências de coluna não podem ser resolvidas.Returns error 2020 when column dependencies cannot be resolved. Esse erro não impede que a consulta retorne dependências no nível do objeto.This error does not prevent the query from returning object-level dependencies.

ComentáriosRemarks

Essa função pode ser executada no contexto de qualquer banco de dados para retornar as entidades que fazem referência a um gatilho DDL no nível do servidor.This function can be executed in the context of the any database to return the entities that reference a server-level DDL trigger.

A tabela a seguir lista os tipos de entidades para os quais as informações de dependência são criadas e mantidas.The following table lists the types of entities for which dependency information is created and maintained. As informações de dependência não são criadas nem mantidas para regras, padrões, tabelas temporárias, procedimentos armazenados temporários ou objetos do sistema.Dependency information is not created or maintained for rules, defaults, temporary tables, temporary stored procedures, or system objects.

Tipo de entidadeEntity type Entidade de referênciaReferencing entity Entidade referenciadaReferenced entity
TabelaTable Sim*Yes* SimYes
ExibirView SimYes SimYes
Procedimento armazenado Transact-SQLTransact-SQL**Transact-SQLTransact-SQL stored procedure** SimYes SimYes
procedimento armazenado CLRCLR stored procedure NãoNo SimYes
Função Transact-SQLTransact-SQL definida pelo usuárioTransact-SQLTransact-SQL user-defined function SimYes SimYes
Função CLR definida pelo usuárioCLR user-defined function NãoNo SimYes
Gatilho CLR (DML e DDL)CLR trigger (DML and DDL) NãoNo NãoNo
Gatilho DML Transact-SQLTransact-SQLTransact-SQLTransact-SQL DML trigger SimYes NãoNo
Gatilho DDL no nível do banco de dados Transact-SQLTransact-SQLTransact-SQLTransact-SQL database-level DDL trigger SimYes NãoNo
Gatilho DDL no nível do servidor Transact-SQLTransact-SQLTransact-SQLTransact-SQL server-level DDL trigger SimYes NãoNo
Procedimentos armazenados estendidosExtended stored procedures NãoNo SimYes
FilaQueue NãoNo SimYes
SinônimoSynonym NãoNo SimYes
Tipo (tipo de alias e tipo de dados CLR definido pelo usuário)Type (alias and CLR user-defined type) NãoNo SimYes
Coleção de esquemas XMLXML schema collection NãoNo SimYes
Função PartitionPartition function NãoNo SimYes
     

* Uma tabela é controlada como entidade de referência somente quando ela faz referência a um Transact-SQLTransact-SQL módulo, tipo definido pelo usuário ou coleção de esquemas XML na definição de uma coluna computada, restrição CHECK ou restrição padrão.* A table is tracked as a referencing entity only when it references a Transact-SQLTransact-SQL module, user-defined type, or XML schema collection in the definition of a computed column, CHECK constraint, or DEFAULT constraint.

** Os procedimentos armazenados numerados com um valor inteiro maior que 1 não são controlados como entidade que faz referência nem como entidade referenciada.** Numbered stored procedures with an integer value greater than 1 are not tracked as either a referencing or referenced entity.

PermissõesPermissions

Requer permissão SELECT em sys.dm_sql_referenced_entities e permissão VIEW DEFINITION na entidade de referência.Requires SELECT permission on sys.dm_sql_referenced_entities and VIEW DEFINITION permission on the referencing entity. Por padrão, a permissão SELECT é concedida a público.By default, SELECT permission is granted to public. Requer permissão VIEW DEFINITION no banco de dados ou permissão ALTER DATABASE DDL TRIGGER no banco de dados quando a entidade de referência é um gatilho DDL do banco de dados.Requires VIEW DEFINITION permission on the database or ALTER DATABASE DDL TRIGGER permission on the database when the referencing entity is a database-level DDL trigger. Requer permissão de VIEW ANY DEFINITION no servidor quando a entidade de referência é um gatilho DDL de servidor.Requires VIEW ANY DEFINITION permission on the server when the referencing entity is a server-level DDL trigger.

ExemplosExamples

A.A. Retorna as entidades que são referenciadas por um gatilho DDL de nível de banco de dadosReturn entities that are referenced by a database-level DDL trigger

O exemplo a seguir retorna as entidades (tabelas e colunas) referenciadas pelo gatilho DDL ddlDatabaseTriggerLog de banco de dados.The following example returns the entities (tables and columns) that are referenced by the database-level DDL trigger ddlDatabaseTriggerLog.

USE AdventureWorks2012;  
GO  
SELECT
        referenced_schema_name,
        referenced_entity_name,
        referenced_minor_name,
        referenced_minor_id,
        referenced_class_desc
    FROM
        sys.dm_sql_referenced_entities (
            'ddlDatabaseTriggerLog',
            'DATABASE_DDL_TRIGGER')
;
GO  

B.B. Retorna as entidades que são referenciadas por um objetoReturn entities that are referenced by an object

O exemplo seguinte retorna as entidades referenciadas pela função dbo.ufnGetContactInformation definida pelo usuário.The following example returns the entities that are referenced by the user-defined function dbo.ufnGetContactInformation.

USE AdventureWorks2012;  
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 (
            'dbo.ufnGetContactInformation',
            'OBJECT')
;
GO  

C.C. Retornar as dependências de colunaReturn column dependencies

O exemplo seguinte cria a tabela Table1 com a coluna computada c definida como a soma de colunas a e b.The following example creates the table Table1 with the computed column c defined as the sum of columns a and b. A exibição sys.dm_sql_referenced_entities então é chamada.The sys.dm_sql_referenced_entities view is then called. A exibição retorna duas linhas, um para cada coluna definida na coluna computada.The view returns two rows, one for each column defined in the computed column.

CREATE TABLE dbo.Table1 (a int, b int, c AS a + b);  
GO  
SELECT
        referenced_schema_name AS schema_name,  
        referenced_entity_name AS table_name,  
        referenced_minor_name  AS referenced_column,  
        COALESCE(
            COL_NAME(OBJECT_ID(N'dbo.Table1'),
            referencing_minor_id),
            'N/A') AS referencing_column_name  
    FROM
        sys.dm_sql_referenced_entities ('dbo.Table1', 'OBJECT')
;
GO

-- Remove the table.  
DROP TABLE dbo.Table1;  
GO  

Aqui está o conjunto de resultados.Here is the result set.

schema_name table_name referenced_column referencing_column  
----------- ---------- ----------------- ------------------  
dbo         Table1     a                 c  
dbo         Table1     b                 c  

D.D. Retornando dependências de colunas não associadas a esquemaReturning non-schema-bound column dependencies

O exemplo a seguir descarta a Table1 e cria a Table2 e o procedimento armazenado Proc1.The following example drops Table1 and creates Table2 and stored procedure Proc1. O procedimento referencia a Table2 e a tabela inexistente Table1.The procedure references Table2 and the nonexistent table Table1. A exibição sys.dm_sql_referenced_entities é executada com o procedimento armazenado especificado como entidade de referência.The view sys.dm_sql_referenced_entities is run with the stored procedure specified as the referencing entity. O conjunto de resultados mostra uma linha da Table1 e 3 da Table2.The result set shows one row for Table1 and 3 rows for Table2. Como a Table1 não existe, as dependências de coluna não podem ser resolvidas e o erro 2020 é retornado.Because Table1 does not exist, the column dependencies cannot be resolved and error 2020 is returned. A coluna is_all_columns_found retorna 0 para Table1 que indica que havia colunas que não puderam ser descobertas.The is_all_columns_found column returns 0 for Table1 indicating that there were columns that could not be discovered.

DROP TABLE IF EXISTS dbo.Table1;
GO  
CREATE TABLE dbo.Table2 (c1 int, c2 int);  
GO  
CREATE PROCEDURE dbo.Proc1 AS  
    SELECT a, b, c FROM Table1;  
    SELECT c1, c2 FROM Table2;  
GO  
SELECT
        referenced_id,
        referenced_entity_name AS table_name,
        referenced_minor_name  AS referenced_column_name,
        is_all_columns_found
    FROM
        sys.dm_sql_referenced_entities ('dbo.Proc1', 'OBJECT');
GO  

Aqui está o conjunto de resultados.Here is the result set.

referenced_id table_name   referenced_column_name  is_all_columns_found  
------------- ------------ ----------------------- --------------------  
935674381     Table2       NULL                    1  
935674381     Table2       C1                      1  
935674381     Table2       C2                      1  
NULL          Table1       NULL                    0  

Msg 2020, Level 16, State 1, Line 1
The dependencies reported for entity "dbo.Proc1" might not include
 references to all columns. This is either because the entity
 references an object that does not exist or because of an error
 in one or more statements in the entity.  Before rerunning the
 query, ensure that there are no errors in the entity and that
 all objects referenced by the entity exist.

E.E. Demonstrando manutenção de dependência dinâmicaDemonstrating dynamic dependency maintenance

E este exemplo pressupõe que o exemplo D foi executado.This Example E assumes that Example D has been run. Exemplo E mostra que dependências são mantidas dinamicamente.Example E shows that dependencies are maintained dynamically. O exemplo faz o seguinte:The example does the following things:

  1. Recria Table1, que foi removida no exemplo D.Re-creates Table1, which was dropped in Example D.
  2. Executar, em seguida, sys.dm_sql_referenced_entities é executado novamente com o procedimento armazenado especificado como entidade de referência.Run Then sys.dm_sql_referenced_entities is run again with the stored procedure specified as the referencing entity.

O conjunto de resultados mostra que as tabelas e suas colunas respectivas definidas no procedimento armazenado, são retornadas.The result set shows that both tables, and their respective columns defined in the stored procedure, are returned. Além disso, a coluna is_all_columns_found retorna um 1 para todos os objetos e colunas.In addition, the is_all_columns_found column returns a 1 for all objects and columns.

CREATE TABLE Table1 (a int, b int, c AS a + b);  
GO   
SELECT
        referenced_id,
        referenced_entity_name AS table_name,
        referenced_minor_name  AS column_name,
        is_all_columns_found
    FROM
        sys.dm_sql_referenced_entities ('dbo.Proc1', 'OBJECT');
GO  
DROP TABLE Table1, Table2;  
DROP PROC Proc1;  
GO  

Aqui está o conjunto de resultados.Here is the result set.

referenced_id table_name   referenced_column_name  is_all_columns_found  
------------- ------------ ----------------------- --------------------  
935674381     Table2       NULL                    1 
935674381     Table2       c1                      1 
935674381     Table2       c2                      1 
967674495     Table1       NULL                    1 
967674495     Table1       a                       1  
967674495     Table1       b                       1  
967674495     Table1       c                       1  

F.F. Retornando o uso de objeto ou de colunaReturning object or column usage

O exemplo a seguir retorna os objetos e as dependências de coluna do procedimento armazenado HumanResources.uspUpdateEmployeePersonalInfo.The following example returns the objects and column dependencies of the stored procedure HumanResources.uspUpdateEmployeePersonalInfo. Esse procedimento atualiza as colunas NationalIDNumber, BirthDate,``MaritalStatus, e Gender da Employee tabela com base em uma BusinessEntityID valor.This procedure updates the columns NationalIDNumber, BirthDate,``MaritalStatus, and Gender of the Employee table based on a specified BusinessEntityID value. Outro procedimento armazenado, upsLogError é definido em um bloco TRY... CATCH para capturar qualquer erro de execução.Another stored procedure, upsLogError is defined in a TRY...CATCH block to capture any execution errors. As colunas is_selected, is_updatede is_select_all retornam informações sobre como são usados esses objetos e colunas dentro do objeto de referência.The is_selected, is_updated, and is_select_all columns return information about how these objects and columns are used within the referencing object. A tabela e colunas que são modificadas são indicadas por um 1 na coluna is_updated.The table and columns that are modified are indicated by a 1 in the is_updated column. A coluna BusinessEntityID só é selecionada e o procedimento armazenado uspLogError não é selecionado, nem modificado.The BusinessEntityID column is only selected and the stored procedure uspLogError is neither selected nor modified.

USE AdventureWorks2012;
GO
SELECT
        referenced_entity_name AS table_name,
        referenced_minor_name  AS column_name,
        is_selected,  is_updated,  is_select_all
    FROM
        sys.dm_sql_referenced_entities(
            'HumanResources.uspUpdateEmployeePersonalInfo',
            'OBJECT')
;

Aqui está o conjunto de resultados.Here is the result set.

table_name    column_name         is_selected is_updated is_select_all  
------------- ------------------- ----------- ---------- -------------  
uspLogError   NULL                0           0          0  
Employee      NULL                0           1          0  
Employee      BusinessEntityID    1           0          0  
Employee      NationalIDNumber    0           1          0  
Employee      BirthDate           0           1          0  
Employee      MaritalStatus       0           1          0  
Employee      Gender              0           1          0

Consulte tambémSee Also

sys.dm_sql_referencing_entities (Transact-SQL) sys.dm_sql_referencing_entities (Transact-SQL)
sys.sql_expression_dependencies (Transact-SQL)sys.sql_expression_dependencies (Transact-SQL)