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

Konu bağlantısı simgesi 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.