sys.dm_sql_referencing_entities (języka Transact-SQL)
Zwraca jeden wiersz dla każdego obiekt w bieżącej bazy danych, która odwołuje się do innego użytkownika obiekt według nazwy.Zależność między dwoma obiektami jest tworzona, gdy jeden obiekto nazwie obiekt— odwołanie, pojawia się nazwa utrwalonej SQLwyrażenie innego obiekt, o nazwie odwołanie do obiekt. Jeśli typ zdefiniowany przez użytkownika (UDT) jest określony jako odwołanie obiekt, ta funkcja zwraca poszczególnych zdefiniowane przez użytkownika obiekt odniesienia według nazwy w swojej definicji tego typu.funkcja nie zwraca podmioty w innych bazach danych, które może zawierać odwołania do określonego obiekt.Ta funkcja musi być wykonane w kontekście master bazy danych, aby przywrócić serwer -poziom DDL wyzwalacza jako odwołujący się obiekt.
funkcja dynamicznego zarządzania umożliwia sprawozdanie dotyczące następujących typów podmiotów w bieżącej bazie danych, które odwołują się do określonego obiekt:
Podmioty związanych ze schematem lub powiązania schematu
WyzwalaczeDDL bazy danychpoziom
WyzwalaczeDDL serwerapoziom
Składnia
sys.dm_sql_referencing_entities (
' schema_name.referenced_entity_name ' , ' <referenced_class> ' )
<referenced_class> ::=
{
OBJECT
| TYPE
| XML_SCHEMA_COLLECTION
| PARTITION_FUNCTION
}
Argumenty
schema_name.referenced_entity_name
Jest nazwą wskazaną obiekt.schema_namejest wymagana z wyjątkiem odwołanie klasy PARTITION_FUNCTION.
schema_name.referenced_entity_nameis nvarchar(517).
<referenced_class> :: = {obiektu | TYP | XML_SCHEMA_COLLECTION | PARTITION_FUNCTION}
Jest to klasa wskazaną obiekt.Tylko jedna klasa może być określony dla instrukcja.<referenced_class>is nvarchar(60).
Zwracana tabela
Nazwa kolumny |
Typ danych |
Opis |
---|---|---|
referencing_schema_name |
sysname |
Schemat należy odwołujący się obiekt .Jest nullable. Wartość NULL dla bazy danych -poziom i serwer -poziom DDL wyzwalaczy. |
referencing_entity_name |
sysname |
Nazwa odwołujący się obiekt.Nie jest nullable. |
referencing_id |
int |
Identyfikator odwołujący się obiekt.Nie jest nullable. |
referencing_class |
tinyint |
Klasa odwołujący się obiekt.Nie jest nullable. 1 = Obiekt 12 = Bazy danych -poziom DDL wyzwalacza 13 = Serwer -poziom DDL wyzwalacza |
referencing_class_desc |
nvarchar(60) |
Opis klasy odwoływania się do obiekt. OBIEKT DATABASE_DDL_TRIGGER SERVER_DDL_TRIGGER |
is_caller_dependent |
bit |
Wskazuje, że rozdzielczość identyfikator obiekt — odwołanie następuje w czas wykonywania, ponieważ zależy od schematu wywołującego. 1 = Odwołujących się obiekt ma potencjał do odwołania obiekt; rozdzielczość identyfikator obiekt — odwołanie jest zależne od rozmówcy i nie może być określony.Dzieje się tak tylko w przypadku-powiązania schematu odwołania do procedura składowana rozszerzona procedura składowanalub zdefiniowanej przez użytkownika funkcja nazywany w wykonywanie instrukcja. 0 = Odwołanie obiekt nie jest zależne od rozmówcy. |
Wyjątki
Zwraca pusty zestaw wyników w jeden z następujących warunków:
Obiekt systemowy został określony.
Określona obiekt nie istnieje w bieżącej bazie danych.
Określonej obiekt nie odwołuje się do wszystkich podmiotów.
Przekazany nieprawidłowy parametr.
Zwraca błąd przy określonym odwołanie do obiekt jest numerowana procedura składowana.
Uwagi
W poniższej tabela zawiera listę typów obiektów, dla których zależności informacji tworzone i utrzymywane.Informacje o zależnościach nie jest tworzone lub utrzymywane dla reguły, ustawienia domyślne, tabel tymczasowych, tymczasowe procedury przechowywane lub obiektów systemu.
Typ encji |
Odwołanie do obiekt |
obiekt— odwołanie |
---|---|---|
Tabela |
Tak * |
Tak |
Widok |
Tak |
Tak |
Transact-SQL procedura składowana** |
Tak |
Tak |
procedura składowana aparatu CLR |
Nie |
Tak |
Transact-SQLzdefiniowana przez użytkownika funkcja |
Tak |
Tak |
Środowisko CLR zdefiniowanej przez użytkownika funkcja |
Nie |
Tak |
wyzwalacz CLR (DML i DDL) |
Nie |
Nie |
Transact-SQL WyzwalaczDML |
Tak |
Nie |
Transact-SQLBaza danych —poziom DDL wyzwalacza |
Tak |
Nie |
Transact-SQLserwer -poziom DDL wyzwalacza |
Tak |
Nie |
Rozszerzone procedury przechowywane |
Nie |
Tak |
Kolejki |
Nie |
Tak |
Synonim |
Nie |
Tak |
Typ (alias i zdefiniowany przez użytkownika typ CLR) |
Nie |
Tak |
Schemat XML kolekcja |
Nie |
Tak |
funkcjapartition |
Nie |
Tak |
* tabela jest śledzona jako odwołujący się obiekt tylko wtedy, gdy odwołuje się Transact-SQL modułu, typ zdefiniowany przez użytkownikalub schematu XML kolekcja w definicji obliczanej kolumna, ograniczenia CHECK lub domyślne ograniczenie.
** Numerowane procedur przechowywanych z wartością całkowitą większą niż 1 nie są oledzone jako albo jako odwołanie lub odwołujący się obiekt.
Aby uzyskać więcej informacji, zobacz Opis zależności SQL.
Uprawnienia
Wymaga uprawnienia kontroli na odwołanie obiekt i wybierz na sys.dm_sql_referencing_entities.Odwołanie obiekt po partycji funkcjawymagane jest uprawnienie Kontrola bazy danych.Domyślnie, wybierz uprawnienia do public.
Przykłady
A.Zwracanie podmioty, które odwołują się do danej obiekt
Poniższy przykład zwraca podmiotów z bieżącej bazy danych, który odwołuje się do określonej tabela.
USE AdventureWorks2008R2;
GO
SELECT referencing_schema_name, referencing_entity_name, referencing_id, referencing_class_desc, is_caller_dependent
FROM sys.dm_sql_referencing_entities ('Production.Product', 'OBJECT');
GO
B.Zwracanie podmioty, które odwołują się do danego typu
Poniższy przykład zwraca podmioty, które odwołują się do typu alias dbo.Flag.zestaw wyników pokazuje tego typu użyć dwóch procedur przechowywanych.dbo.Flag Typu jest również używana w definicji kilka kolumn w HumanResources.Employeetabela; Jednakże, ponieważ typ nie jest w definicji kolumnaobliczanej, ograniczenia CHECK lub ograniczenie DOMYOLNE w tabela, wiersze nie są zwracane dla HumanResources.Employee tabela.
USE AdventureWorks2008R2;
GO
SELECT referencing_schema_name, referencing_entity_name, referencing_id, referencing_class_desc, is_caller_dependent
FROM sys.dm_sql_referencing_entities ('dbo.Flag', 'TYPE');
GO
Oto zestaw wyników.
referencing_schema_name referencing_entity_name referencing_id referencing_class_desc is_caller_dependent
----------------------- ------------------------- ------------- ---------------------- -------------------
HumanResources uspUpdateEmployeeHireInfo 1803153469 OBJECT_OR_COLUMN 0
HumanResources uspUpdateEmployeeLogin 1819153526 OBJECT_OR_COLUMN 0
(2 row(s) affected)
Zobacz także