sys.dm_sql_referencing_entities (Transact-sql)
Geçerli veritabanında adıyla başka bir kullanıcı tarafından tanımlanan varlık başvuran her varlık için bir satır döndürür. Bir varlık olarak adlandırılan iki varlık arasında bir bağımlılık oluşturulur başvurulan varlık, kalıcı bir sql ifadesi olarak adlandırılan başka bir varlığın adı görünür varlık başvuran. Örneğin, bir kullanıcı tanımlı türü (udt) başvurulan varlık belirtilirse, bu işlev kullanıcı tanımlı türü tanımı adı başvuran her varlık verir. İşlev, belirtilen varlık başvuran diğer veritabanlarında varlıkları döndürmez. Bu işlev bağlamında yürütülmelidir masterveritabanı sunucu düzeyinde ddl tetikleyici bir başvuru varlık olarak dönmek.
Bu dinamik yönetimi işlevi, geçerli veritabanında belirtilen varlık başvurusu varlıkları üzerinde aşağıdaki türlerde rapor için kullanabilirsiniz:
Şemaya bağlı veya olmayan-şemaya bağlı varlıklar
Veritabanı düzeyinde ddl Tetikleyicileri
Sunucu düzeyinde ddl Tetikleyicileri
Transact-SQL Sözdizim Kuralları
Sözdizimi
sys.dm_sql_referencing_entities (
' schema_name.referenced_entity_name ' , ' <referenced_class> ' )
<referenced_class> ::=
{
OBJECT
| TYPE
| XML_SCHEMA_COLLECTION
| PARTITION_FUNCTION
}
Bağımsız değişkenler
schema_name.referenced_entity_name
Başvurulan varlık addır.schema_namebaşvurulan sınıf PARTITION_FUNCTION olduğunda dışında gereklidir.
schema_name.referenced_entity_nameis nvarchar(517).
<referenced_class>:: = {NESNE | TÜRÜ | XML_SCHEMA_COLLECTION | PARTITION_FUNCTION}
Başvurulan varlık bir sınıftır. Yalnızca bir sınıf deyimi belirtilebilir.<referenced_class>is nvarchar(60).
Dönen Tablo
Sütun adı |
Veri türü |
Açıklama |
---|---|---|
referencing_schema_name |
sysname |
Başvuru varlık olduğu şema. NULL olabilecek olduğunu. Veritabanı düzeyinde ve sunucu düzeyinde ddl Tetikleyiciler null. |
referencing_entity_name |
sysname |
Başvuru varlık adı. NULL değil. |
referencing_id |
int |
Başvuru varlık Kımlığı. NULL değil. |
referencing_class |
tinyint |
Başvuru varlık sınıf. NULL değil. 1 = Nesne 12 Veritabanı düzeyinde ddl tetikleyici = 13 Sunucu düzeyinde ddl tetikleyici = |
referencing_class_desc |
nvarchar(60) |
Varlık başvuran sınıf açıklaması. NESNE DATABASE_DDL_TRIGGER SERVER_DDL_TRIGGER |
is_caller_dependent |
bit |
Arayan şemasını bağlıdır çünkü kimliği zamanında oluşuyor başvurulan varlık gösterir. 1 = Referans varlık varlık; başvuru potansiyeline sahiptir Ancak başvurulan varlık KIMLIĞI çözüm arayan bağımlı ve belirlenemez. Bu, yalnızca bir saklı yordam, genişletilmiş saklı yordam veya kullanıcı tanımlı işlev execute deyimi içinde denilen olmayan-şemaya bağlı başvuruları için oluşur. 0 = Referansı varlık arayan bağımlı değildir. |
Kural dışı durumlar
Aşağıdaki koşullardan herhangi biri altında ayarlamak boş bir sonuç döndürür:
Sistem nesnesi belirtilir.
Belirtilen varlık geçerli veritabanında yok.
Belirtilen varlık, tüm varlıkları başvurmuyor.
Geçersiz bir parametre geçirildi.
Numaralandırılmış bir saklı yordam belirtilen varlık başvurulduğunda hata döndürür.
Açıklamalar
Aşağıdaki tabloda, kendisi için bağımlılık bilgileri oluşturulan ve saklanan varlıklar türlerini listeler. Bağımlılık bilgilerini oluşturulmaz veya kuralları, varsayılanlar, geçici tablolar, geçici saklı yordamlar veya sistem nesneleri için yapılmaktadır.
Varlık türü |
Başvuru varlık |
Başvurulan varlık |
---|---|---|
Tablo |
"EVET" |
Evet |
Görünüm |
Evet |
Evet |
Transact-SQLsaklı yordam ** |
Evet |
Evet |
CLR saklı yordamı |
Hayır |
Evet |
Transact-SQLkullanıcı tanımlı işlev |
Evet |
Evet |
clr kullanıcı tanımlı işlev |
Hayır |
Evet |
clr tetikleyici (dml ve ddl) |
Hayır |
Hayır |
Transact-SQLdml tetikleyici |
Evet |
Hayır |
Transact-SQLVeritabanı düzeyinde ddl tetikleyici |
Evet |
Hayır |
Transact-SQLSunucu düzeyinde ddl tetikleyici |
Evet |
Hayır |
Genişletilmiş saklı yordamları |
Hayır |
Evet |
Sıra |
Hayır |
Evet |
Eşanlamlı |
Hayır |
Evet |
Türü (diğer ad ve kullanıcı tanımlı clr türü) |
Hayır |
Evet |
xml şema koleksiyonu |
Hayır |
Evet |
Bölüm işlevi |
Hayır |
Evet |
* Tablo yalnızca başvurduğu bir başvuru varlık izlenir bir Transact-SQLmodülü, türü kullanıcı tanımlı veya hesaplanmış sütun, check kısıtlaması veya default kısıtlaması tanımında xml şema koleksiyonu.
** Numaralandırılmış saklı yordamlar ile 1 ya da bir başvuru veya başvurulan varlık olarak izlenmez daha büyük bir tamsayı değeri.
Daha fazla bilgi için, bkz. Understanding SQL Dependencies.
İzinler
Üzerinde DENETIM izni başvurulan varlık ve select izni gerektirir sys.dm_sql_referencing_entities. Bölüm işlevi başvurulan varlık ise, veritabanı üzerinde DENETIM izni gereklidir. Varsayılan olarak, için select izni verilir public.
Örnekler
A.Belirli bir varlığa başvuruda varlıkları döndürme
Aşağıdaki örnek, geçerli veritabanında belirtilen tabloya başvurun varlıkları verir.
USE AdventureWorks2012;
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.Verilen tür için başvuruda varlıkları döndürme
Aşağıdaki örnek, diğer ad türü başvurusu varlıkları verir dbo.Flag. Sonuç kümesi gösterir: iki saklı yordamlar bu türü kullanın. dbo.Flag Türü de birkaç sütun tanımında kullanılan HumanResources.Employeetablo; tür tanımında, hesaplanmış sütun, check kısıtlaması veya default kısıtlaması tablosundaki olmadığı için ancak, hiçbir satır için döndürülen HumanResources.Employeetablosu.
USE AdventureWorks2012;
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
Sonuç kümesi buradadır.
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)
Ayrıca bkz.
Başvuru
sys.dm_sql_referenced_entities (Transact-sql)
c.sys.sql_expression_dependencies (Transact-sql)
Diğer Kaynaklar
Understanding SQL Dependencies
Troubleshooting SQL Dependencies
Değişiklik Geçmişi
Güncelleştirilmiş içerik |
---|
"Sütun bağımlılıkları clr tablo değerli işlevler için izlenmez" ifadesi kaldırıldı Açıklamalar bölümünden. |
Veri türü düzeltildi referenced_entity_nameparametresi. |