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:
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ı. |
See Also