Udostępnij za pośrednictwem


sys.sql_expression_dependencies (Transact-SQL)

ColumnPermissionsZależność między dwoma obiektami jest tworzony po wywołaniu jednego obiektu, obiekt odwołaniapojawia się nazwa w wyrażeniu SQL utrwalonej innej obiekt, o nazwie ,Odwołanie do obiektu.LinkedServerNameNazwa serwer połączony.

MethodName

  • Nazwa metoda OLE DB.

  • RowCounts

  • Liczba wierszy w instancji.Identyfikator żądania zawierające instrukcja.

  • XactSequenceZależności poziomie kolumna dla nie-obiektów związanych ze schematem mogą być zwracane przy użyciu sys.dm_sql_referenced_entities.

  • EventSequence

Nazwa kolumna

Typ danych

Description

referencing_id

int

BigintData1Nie jest pustych.

referencing_minor_id

int

Kolumna IDENTYFIKATORA, kiedy odwołujących się obiekt kolumny; w przeciwnym razie 0.Nie jest pustych.

referencing_class

tinyint

BigintData2

1 = Obiektu lub kolumna

Wartość identyfikatora GUID, która jest zależna od zdarzenie klasy przechwytywane śledzenia.

IntegerData2

Nie jest pustych.

referencing_class_desc

nvarchar(60)

ObjectID2

OBJECT_OR_COLUMN

DATABASE_DDL_TRIGGER

SERVER_DDL_TRIGGER

Nie jest pustych.

is_schema_bound_reference

bit

ParentName

W ramach jest nazwa schematu obiektu.

Nie jest pustych.

referenced_class

tinyint

Klasa odwołania obiekt.

1 = Obiektu lub kolumna

6 = Typ

10 = kolekcja schematu XML

21 = funkcja partycji

Nie jest pustych.

referenced_class_desc

nvarchar(60)

IsSystem

OBJECT_OR_COLUMN

TYP

XML_SCHEMA_COLLECTION

PARTITION_FUNCTION

Nie jest pustych.

referenced_server_name

sysname

Nazwa serwera, z której dotyczy odwołanie, obiekt.

Ta kolumna jest pusta dla zależności między serwerem, które są wykonywane przez określenie four-part poprawną nazwę.Aby uzyskać informacje na temat wieloczęściowe nazw Zobacz Transact-SQL Syntax Conventions (Transact-SQL).

Wskazuje, czy wystąpiło zdarzenie procesu systemowego lub procesu użytkownika.

NULL dla obiektów związanych ze schematem, ponieważ muszą być w tej samej bazy danych i dlatego mogą być definiowane tylko przy użyciu (część 2Schema.Object) Nazwa.

referenced_database_name

sysname

Nazwa bazy danych, z której dotyczy odwołanie, obiekt.

Ta kolumna jest pusta dla bazy danych między lub między serwerem odwołań, które są wykonywane przez określenie prawidłową nazwę trzech części lub four-part.

Wartość NULL dla odwołania nie związanych ze schematem, gdy określona za pomocą nazwy część jednego lub dwóch części.

NULL dla obiektów związanych ze schematem, ponieważ muszą być w tej samej bazy danych i dlatego mogą być definiowane tylko przy użyciu (część 2Schema.Object) Nazwa.

referenced_schema_name

sysname

Schemat, do której należy obiekt do którego istnieje odwołanie.

Wartość NULL dla odwołań innych niż związanych ze schematem, w którym obiekt wystąpiło odwołanie do bez określania nazwy schematu.

Nigdy nie ma wartości NULL dla odwołań powiązanych ze schematem, ponieważ jednostki powiązane ze schematem muszą być definiowane przy użyciu nazwy dwuczęściowej i za pomocą takiej nazwy należy się do nich odwoływać.

referenced_entity_name

sysname

Nazwa odwołania obiekt.Nie jest pustych.

referenced_id

int

Identyfikator jednostki, do której następuje odwołanie.

Przesunięcie

Wartość NULL dla odwołania do bazy danych, jeśli nie można określić identyfikator.Dla odwołania do innych niż związanych ze schematem identyfikator nie jest rozpoznawany w następujących przypadkach:

  • obiekt odwołania nie istnieje w bazie danych.

  • Początkowe przesunięcie instrukcja w procedurze przechowywanej lub partia.W takim przypadek jest is_caller_dependent zestaw na 1.

Nigdy nie NULL odwołania związanych ze schematem.

referenced_minor_id

int

SourceDatabaseIDNie jest pustych.

Identyfikator bazy danych, w którym istnieje urządzenie źródłowe obiektu.

is_caller_dependent

bit

SqlHandle64-bitową wartość mieszania na podstawie tekstu kwerendy ad hoc lub bazy danych i obiektów identyfikator obiektu SQL.

1 = jednostka, do której następuje odwołanie, jest zależna od obiektu wywołującego i jest rozpoznawana w czasie wykonywania.W takim przypadku wartość referenced_id jest równa NULL.

SessionLoginName

Zawsze 0 dla związanych ze schematem odwołuje się do dla bazy danych między i między serwerem odwołuje, jawnie określić nazwę schematu.Na przykład, odwołanie do obiekt w formacie EXEC MyDatabase.MySchema.MyProc jest niezależna obiektu wywołującego. Jednak odwołanie w formacie EXEC MyDatabase..MyProc obiekt wywołujący jest zależna.

is_ambiguous

bit

Wskazuje odwołanie jest niejednoznaczny i można rozwiązać w czasie wykonywania funkcja zdefiniowanej przez użytkownika, typ zdefiniowany przez użytkownika (UDT) lub odwołaniem do kolumna typu xquery xml.

Załóżmy na przykład, że w procedurze składowanej jest zdefiniowana instrukcja SELECT Sales.GetOrder() FROM Sales.MySales.Dopóki procedura składowana nie zostanie wykonana, nie wiadomo, czy Sales.GetOrder() to funkcja zdefiniowana przez użytkownika w schemacie Sales, czy kolumna typu UDT o nazwie Sales z metodą o nazwie GetOrder().

1 = odwołanie jest niejednoznaczne.

0 = odwołanie jest niejednoznaczne lub jednostkę można pomyślnie powiązać w momencie wywołania widoku.

Zawsze 0 dla odwołań powiązanych ze schematem.

Remarks

W poniższej tabela wymieniono rodzaje obiektów, dla którego informacje o zależnościach są tworzone i obsługiwane.Informacje o zależnościach nie jest tworzone lub obsługiwane dla reguły, ustawienia domyślne, tabele tymczasowe, tymczasowe procedury przechowywane lub obiektów systemu.

obiekt typu

Odwoływanie się do obiekt

obiekt odwołania

Table

Tak *

Tak

Bez opuszczania środowiska, można zarządzać sieci fizycznej i łatwo zespołów projektów.

Tak

Tak

Indeks filtrowany

Tak**

Nie

Statystyka filtrowana

Tak**

Nie

Procedura składowana języka Transact-SQL***

Tak

Tak

składowana procedura CLR

Nie

Tak

Transact-SQL funkcja zdefiniowanej przez użytkownika

Tak

Tak

Środowisko CLR funkcja zdefiniowanej przez użytkownika

Nie

Tak

wyzwalacz CLR (DML i DDL)

Nie

Nie

Transact-SQL Wyzwalacz DML

Tak

Nie

Transact-SQL wyzwalacz DLL poziom bazy danych

Tak

Nie

Transact-SQL poziom serwera DDL wyzwalacza

Tak

Nie

Rozszerzone procedury przechowywane

Nie

Tak

Kolejki

Nie

Tak

Synonim

Nie

Tak

Typ (alias i zdefiniowany przez użytkownika typ danych CLR)

Nie

Tak

kolekcja schematu XML

Nie

Tak

Funkcja partycji

Nie

Tak

* tabela jest śledzony jako odwoływania się do obiekt tylko wtedy, gdy się odwołuje Transact-SQL Moduł, typ zdefiniowany przez użytkownika lub kolekcja schematu XML w definicji kolumna obliczana, ograniczenia CHECK lub DEFAULT ograniczenie.

** Każda kolumna używana w predykacie filtru jest śledzona jako jednostka odwołująca się.

@ na

Aby uzyskać więcej informacji zobaczUnderstanding SQL Dependencies.

Uprawnienia

Wymaga uprawnienia VIEW DEFINITION do bazy danych i uprawnienia SELECT do tabeli sys.sql_expression_dependencies w bazie danych.Domyślnie uprawnienie SELECT jest udzielane tylko członkom stałej roli db_owner bazy danych.W przypadku udzielenia uprawnień SELECT i VIEW DEFINITION innemu użytkownikowi może on wyświetlać wszystkie zależności w bazie danych.

Przykłady

A.Wszystkie kolumny są usuwane.

W poniższym przykładzie są zwracane tabel i kolumn w widoku Production.vProductAndDescription. W widoku zależy od jednostek (tabele i kolumny) zwrócony w referenced_entity_name i referenced_column_name kolumny.

B.Zdarzenie jest włączone OFF.

W poniższym przykładzie są zwracane podmioty, które odwołują się do tabela Production.Product. Podmioty, zwracane w referencing_entity_name zależą od kolumna Product Tabela.

C.Określona kolumna nie jest prawidłowy.

Dojście określone śledzenia jest nieprawidłowa.W przykładzie najpierw tworzy bazy danych db1 i dwóch procedur przechowywanych, które odwołują się do tabel baz danych db2 i db3. The sys.sql_expression_dependencies tabela is then queried to report the cross-database dependencies between the procedures and the tables. Należy zauważyć, że zwracana jest wartość NULL w referenced_schema_name kolumna dla encji, do którego istnieje odwołanie t3 ponieważ nie określono nazwy schematu dla tego obiektu w definicji procedury.

Historia zmian

Microsoft Learning

W instrukcja "zależności kolumna nie są śledzone dla funkcji wycenione tabela CLR" usunięte z częścią Uwagi.