Aracılığıyla paylaş


sys.sql_expression_dependencies (Transact-SQL)

Kullanıcı tanımlı bir varlık geçerli veritabanındaki her by-name bağımlı bir satır içerir.Tek bir varlık olarak adlandırılan iki varlık arasında BIR bağımlılık oluşturulur Başvurulan varlık adlı başka bir varlığın, kalıcı SQL ifadesi adını görüntülenenvarlık başvuru.Örneğin, bir tablo görünüm tanımında başvuruda bulunulursa, görünümü, tabloyu, başvurulan varlık başvuru varlık olarak bağlıdır.Görünüm, tablo kesilirse, kullanılamaz.

Aşağıdaki varlıklar için bu raporun bağımlılık bilgilerini katalog görünümüne kullanabilirsiniz:

  • Şemaya bağlı kişiler.

  • Şemaya bağlı olmayan kişiler.

  • Geçici veritabanı ve siteler için sunucu kişiler.Varlık adları bildirilir; varlık kimliği değil ancak çözümlenir.

  • Şemaya bağlı varlıkları bağımlılıkları sütun düzey.Sütun-CVE-2006-düzey olmayan-şemaya bağlı nesneler için bağımlılık kullanarak döndürülebilir. sys.dm_sql_referenced_entities.

  • Sunucu düzeyinde DDL Tetikleyicileri bağlamında asıl veritabanı açtığınızda.

Sütun adı

Veri türü

Açıklama

referencing_id

int

Başvuru Varlık KIMLIĞI.Null değil.

referencing_minor_id

int

Bir sütuna başvuru varlık ise sütun KIMLIĞI; aksi durumda 0.Null değil.

referencing_class

tinyint

Başvuru Varlık sınıf.

1 = Nesne ya da sütun

12 Veritabanı DDL tetikleyicisi =

13 Sunucu DDL tetikleyicisi =

Null değil.

referencing_class_desc

nvarchar(60)

Varlık başvuru sınıfının tanımı.

object_or_column

database_ddl_trigger

server_ddl_trigger

Null değil.

is_schema_bound_reference

bit

1 Başvurulan = şemaya bağlı bir varlık.

0 Başvurulan = olmayan-şemaya bağlı bir varlık.

Null değil.

referenced_class

tinyint

Sınıf başvurulan varlık.

1 = Nesne ya da sütun

6 = Türü

10 XML şema koleksiyon =

21 Bölüm işlev =

Null değil.

referenced_class_desc

nvarchar(60)

Başvurulan varlık sınıf tanımı.

object_or_column

TÜRÜ

xml_schema_collection

partition_function

Null değil.

referenced_server_name

sysname

Başvurulan sunucunun adını varlık.

Bu sütun, geçerli bir four-part ad belirterek yapılan çapraz sunucu bağımlılıklar için doldurulur.Çok parçalı adları hakkında daha fazla bilgi için bkz: Transact-SQL sözdizimi kuralları (Transact-SQL).

NULL olmayan-şemaya bağlı varlıklar kendisi için bir four-part ad belirtmeden varlık başvuruldu.

Aynı veritabanında olmalıdır ve bu nedenle yalnızca kullanılarak bir iki bölümü (tanımlanabilir şemaya bağlı varlıklar için NULL.Schema.Object) adı.

referenced_database_name

sysname

Başvurulan veritabanı adını varlık.

Bu sütun, geçerli bir üç bölümlü ya da four-part ad belirterek yapılan geçici veritabanı veya sunucu çapraz başvurular için doldurulur.

Bir parça veya iki bölümlü bir ad kullanılarak belirtildiğinde olmayan-şemaya bağlı başvurular için NULL.

Aynı veritabanında olmalıdır ve bu nedenle yalnızca kullanılarak bir iki bölümü (tanımlanabilir şemaya bağlı varlıklar için NULL.Schema.Object) adı.

referenced_schema_name

sysname

Başvurulan varlık olduğu şema.

NULL olmayan-şemaya bağlı başvurusu,'için şema adı belirtmeden varlık başvuruldu.

Hiçbir zaman şemaya bağlı başvurusu, çünkü bu şemaya bağlı varlıkları tanımlanmış olmalı ve iki bölümü adıyla başvurulan NULL.

referenced_entity_name

sysname

Başvurulan adı varlık.Null değil.

referenced_id

int

Başvurulan varlık KIMLIĞI.

Her zaman NULL siteler için sunucu ve veritabanı çapraz başvurular için.

Başvuru KIMLIĞI belirlenemiyor, veritabanındaki için NULL.Non-şemaya bağlı başvurusu, aşağıdaki durumlarda KIMLIĞI çözümlenemiyor:

  • Başvurulan varlık veritabanında yok.

  • Şema başvurulan varlığın arayanın şemada bağlıdır ve çalışma sırasında çözümlenen saat.Bu durum, is_caller_dependent 1 olarak küme.

Hiçbir zaman şemaya bağlı başvurular için NULL.

referenced_minor_id

int

Bir sütuna başvuru varlık, başvurulan sütun KIMLIĞI; aksi durumda 0.Null değil.

Başvurulan bir varlık bir sütun olduğunda bir sütun başvuru varlık veya üst varlık bir SELECT kullanıldığında adıyla tanımlanır * deyim.

is_caller_dependent

bit

Çalışma zamanında başvurulan varlık oluşuyor için şema cilt düğmesini; bu nedenle, çözümleme KIMLIĞI, arayanın şemada bağlıdır varlığın gösterir.Bunun nedeni, başvurulan varlık genişletilmiş saklı yordam, bir saklı yordam veya bir yürütmek deyim olmayan-şemaya bağlı kullanıcı tanımlı bir işlev adlı oluşur.

1 Başvurulan = varlık arayanın bağımlı olduğu ve çalışma zamanında çözümlenir.Bu durumda, referenced_id NULL olur.

0 Başvurulan varlık KIMLIĞI değil = arayan bağımlı.

Şemaya bağlı her zaman 0 başvurur ve, açıkça geçici veritabanı ve sunucu çapraz başvuru için bir şema adı belirtin.Örneğin, biçimdeki bir varlık başvurusu EXEC MyDatabase.MySchema.MyProc Arayanın bağımlı değildir. Ancak, başvuru biçimi EXEC MyDatabase..MyProc Arayanın bağlıdır.

is_ambiguous

bit

Başvuru belirsiz ve kullanıcı tanımlı bir işlev, kullanıcı tanımlı tür (UDT) veya bir xquery başvuru türünde bir sütuna çalışma zamanında çözümleyebilirsiniz gösterir. xml.

Örneğin, varsayalım deyim SELECT Sales.GetOrder() FROM Sales.MySales saklı yordam içinde tanımlanır. saklı yordam yürütülme kadar bilinmiyor olup olmadığını Sales.GetOrder() bir kullanıcı tanımlı işlev Sales şema veya adlı sütun Sales tür UDT adlı bir yöntem GetOrder().

1 = Olan başvuru belirsiz.

0 = varlık, görünümü çağrıldığında başarıyla bağlanabilir ya da belirli başvurudur.

Her zaman 0'ın şeması için başvurular bağlı.

Remarks

Aşağıdaki tabloda, kendisi için bağımlılık bilgileri oluşturulan saklanır ve varlık türlerini listeler.Bağımlılık bilgilerini değil oluşturulduğunda veya kuralları, varsayılanlar, geçici tablo, geçici saklı yordamlar veya sistem nesneleri sürdürülür.

Varlık türü

Başvuru Varlık

Başvurulan varlık

Table

Yes *

Evet

Görünümü

Evet

Evet

Süzülmüş bir dizin

Evet**

Hayır

Süzülmüş istatistikleri

Evet**

Hayır

Transact-SQL saklı yordam ***

Evet

Evet

CLR saklı yordamı

Hayır

Evet

Transact-SQL Kullanıcı tanımlı fonksiyon

Evet

Evet

CLR kullanıcı tanımlı fonksiyon

Hayır

Evet

CLR tetikleyicisi (DML ve DDL)

Hayır

Hayır

Transact-SQL DML tetikleyicisi

Evet

Hayır

Transact-SQL Veritabanı düzey DDL tetikleyicisi

Evet

Hayır

Transact-SQL sunucu düzeyinde DDL tetikleyicisi

Evet

Hayır

Genişletilmiş saklı yordamlar

Hayır

Evet

Sıra

Hayır

Evet

Veri türünün eşanlamlısı

Hayır

Evet

Tür (diğer ad ve CLR kullanıcı tanımlı tür)

Hayır

Evet

XML şema koleksiyon

Hayır

Evet

bölümleme işlev

Hayır

Evet

* Tablo yalnızca başvuru, başvuru bir varlık olarak izlenir bir Transact-SQL Modül, tür kullanıcı tanımlı veya hesaplanan sütun tanımı XML şema koleksiyonunda kısıtlama CHECK veya kısıtlama DEFAULT.

** Her sütun, filtre koşulunu içinde kullanılan bir başvuru varlık olarak izlenir.

*** 1 Ya da bir başvuru veya başvurulan varlık olarak izlenen daha büyük bir tamsayı olan saklı yordamlar numaralandırılır.

Daha fazla bilgi için bkz:SQL Bağımlılıklar'ı anlama.

İzinler

Veritabanı için Görünüm TANıMıNı veritabanı iznine ve sys.sql_expression_dependencies SELECT izni gerektirir.Varsayılan olarak, yalnızca db_owner sabit veritabanı rolü bir üyesi için SELECT izni verilir.SELECT ve Görünüm TANıMı izinleri grantee veritabanındaki tüm bağımlılıkları görüntüleyebilirsiniz, başka bir kullanıcıya verilir.

Örnekler

C.Başka bir varlık tarafından başvurulan bir varlık olarak döndürülüyor

Aşağıdaki örnek tablolar ve sütunlar görünümde başvurulan verir... Production.vProductAndDescription. Görünüm (tablolar ve sütunlar) döndürdü varlıkları bağlıdır referenced_entity_name ve referenced_column_name sütunlar.

b.Başka bir varlığa başvuru varlık döndürülüyor

Aşağıdaki örnek tablo başvurusu varlıkları verir... Production.Product. Döndürülen varlıkları referencing_entity_name sütun bağlıdır Product TABLO.

c.Geçici veritabanı bağımlılıklar döndürülüyor

Aşağıdaki örnek, tüm veritabanları arası bağımlılıkları verir.Örnek veritabanını ilk oluşturur. db1 ve veritabanlarındaki tablolara başvuran iki saklı yordamlar db2 ve db3. The sys.sql_expression_dependencies tablo is then queried to report the cross-database dependencies between the procedures and the tables. NULL döndürdü bildirimi referenced_schema_name Başvurulan varlık için sütun t3 Bu varlığın yordamın tanımında bir şema adı belirtilmiş olduğundan.

Değişiklik Geçmişi

Güncelleştirilmiş içerik

"Sütun bağımlılığı CLR tablo değerli işlevler için izlenmez" deyim, açıklamalar bölümünden kaldırıldı.