Aracılığıyla paylaş


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.İki varlık arasında bir bağımlılık adı verilen bir varlıkoluşturulduğunda başvurulan varlık, adı başka bir varlıkolarak adlandırılan, kalıcı bir SQLifade olarak görüntülenen varlıkbaşvuran. Örneğin, bir kullanıcı tanımlı tür (UDT) başvurulan varlıkolarak belirtilirse, bu işlev türü tanımı adı başvuran her kullanıcı tanımlı varlık verir.işlev , belirtilen varlıkbaşvuruda bulunabilir diğer veritabanlarında varlıkları döndürmez.Bu işlev bağlamında yürütülmelidir master server -düzey DDL tetikleyici bir başvuru varlıkolarak dönmek için veritabanını.

Bu dinamik yönetim işlevi geçerli veritabanında belirtilen varlıkbaşvurusu varlıkları aşağıdaki türlerini bildirmek için kullanabilirsiniz:

  • Şemaya bağlı veya olmayan-şemaya bağlı varlıklar

  • Veritabanıdüzey DDL tetikler.

  • Sunucudüzey DDL tetikler.

Konu bağlantısı simgesiTransact-SQL sözdizimi 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ıkadı olur.

    schema_nameBaşvurulan sınıf PARTITION_FUNCTION olduğunda dışında gereklidir.

    schema_name.referenced_entity_nameis nvarchar(517).

  • <referenced_class> :: = {nesne | TYPE | XML_SCHEMA_COLLECTION | {PARTITION_FUNCTION}
    Başvurulan varlıksınıfıdır.Yalnızca bir sınıf deyimbelirtilebilir.

    <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 olur.

Veritabanıdüzey ve server -düzey DDL Tetikleyiciler null.

referencing_entity_name

sysname

Başvuru varlıkadı.Nullable değil.

referencing_id

int

Başvuru varlıkkimliği.Nullable değil.

referencing_class

tinyint

Başvuru varlıksınıf.Nullable değil.

1 = Nesne

12 - Veritabanıdüzey DDL tetikleyici =

13 - Sunucudüzey DDL tetikleyici =

referencing_class_desc

nvarchar(60)

varlıkbaşvuran sınıf açıklaması.

NESNE

DATABASE_DDL_TRIGGER

SERVER_DDL_TRIGGER

is_caller_dependent

bit

Arayanın şemasına bağlıdır için başvurulan varlık kimliği çözümlenmesi çalışma saat sırasında oluşur gösterir.

1 = Başvuru varlık varlık; referans olma olasılığı vardır Ancak başvurulan varlık kimliği çözüm arayan bağımlı ve belirlenemez.Yalnızca bir saklı yordam, şemaya bağlı başvuruları için böyle bir execute deyim genişletilmiş saklı yordamveya kullanıcı tanımlı işlev denir.

0 = Başvurulan varlık arayan bağımlı değildir.

Kural dışı durumlar

Bir boş sonuç kümesi altında aşağıdaki koşullardan birini verir:

  • Sistem nesnesi belirtilir.

  • Belirtilen varlık geçerli veritabanında yok.

  • Belirtilen varlık herhangi varlıkları başvuru yapmıyor.

  • Geçersiz bir parametre geçirildi.

Belirtilen varlık başvurulduğunda hata numaralandırılmış bir saklı yordamverir.

Açıklamalar

Aşağıdaki tablo , hangi için bağımlılık bilgileri oluşturulan ve bakımını varlıkları türlerini listeler.Bağımlılık bilgilerini oluşturulan veya olmayan kuralları, varsayılanlar, geçici tablolar, geçici saklı yordamlar veya sistem nesneleri için saklanır.

Varlık türü

varlıkbaşvuran

Başvurulan varlık

Tablo

Evet *

Evet

Görünüm

Evet

Evet

Transact-SQL saklı 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 tetikleyicisi (DML ve DDL)

Hayır

Hayır

Transact-SQL DML tetikleyici

Evet

Hayır

Transact-SQL-Veritabanıdüzey DDL tetikleyici

Evet

Hayır

Transact-SQLServer -düzey 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 CLR kullanıcı tanımlı türü)

Hayır

Evet

xml şema koleksiyon

Hayır

Evet

Bölüm işlev

Hayır

Evet

* Yalnızca başvurduğu zaman tablo bir varlık başvuru olarak izlenen bir Transact-SQL modülü, kullanıcı tanımlı türveya hesaplanmış bir sütuntanımında xml şema koleksiyon DENETLEME kısıtlaması veya default kısıtlaması.

** 1 Ya da bir başvuru veya başvurulan varlıkolarak izlenmez den büyük bir tamsayı değeri saklı yordamlarda numaralandırılmış.

Daha fazla bilgi için, bkz. sql bağımlılıklar anlama.

İzinler

Üzerinde denetim üzerinde başvurulan varlık ve select izni gerektirir sys.dm_sql_referencing_entities.Başvurulan varlık bir bölüm işlevolduğunda, veritabanı üzerinde denetim izni gereklidir.Varsayılan olarak, select izni public.

Örnekler

A.Verilen varlıkbaşvuran varlıkları döndürme

Aşağıdaki örnek, geçerli veritabanında belirtilen tablobaşvurun varlıkları verir.

USE AdventureWorks2008R2;
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.Belirli bir türde başvuruda varlıkları döndürme

Aşağıdaki örnek, diğer ad başvuru varlıkları verir dbo.Flag.sonuç kümesi için iki saklı yordamda bu türü kullanın gösterir.dbo.Flag Türü birkaç sütun tanımında kullanılan de HumanResources.Employeetablo; türü hesaplanan sütun, denetim kısıtlamasını veya tablovarsayılan kısıtlama tanımı olmadığı için ancak hiçbir satır için döndürülen HumanResources.Employee tablo.

USE AdventureWorks2008R2;
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)