Saklı yordam bağımlılıkları görüntülemek
Bu konuda saklı yordam bağımlılıkları görüntülemek açıklar SQL Server 2012kullanarak SQL Server Management Studioya Transact-SQL.
Başlamadan önce: kısıtlamaları ve sınırlamaları, güvenlik
Bir yordam bağımlılıkları görüntülemek için kullanma: SQL Server Management Studio'yu, Transact-sql, PowerShell
Başlamadan Önce
Sınırlamalar ve Kısıtlamalar
[Üst]
Güvenlik
İzinler
[Üst]
Sistem işlevi:sys.dm_sql_referencing_entities
Ü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.Sistem işlevi:sys.dm_sql_referenced_entities
Üzerinde select izni gerektirir sys.dm_sql_referenced_entitiesve başvuru varlık tanımını izni. Varsayılan olarak, için select izni verilir public. Başvuru varlık veritabanı düzeyinde ddl tetikleyici olduğunda veritabanı üzerinde görünüm tanımı izni veya veritabanı ddl TETIKLEYICI alter veritabanı izni gerektirir. Başvuru varlık sunucu düzeyinde ddl tetikleyici olduğunda sunucu üzerinde görünüm tanımı HIÇBIR izni gerektirir.Nesne Kataloğu görüntüle:sys.sql_expression_dependencies
Üzerinde görünüm tanımı izni veritabanında ve select izni gerektirir sys.sql_expression_dependenciesveritabanı için. Varsayılan olarak, yalnızca üyelerine select izni verilir db_ownerveritabanı rolü. SEÇTİĞİNİZDE ve VIEW DEFINITION izinlerinden grantee veritabanındaki tüm bağımlılıkları görebilirsiniz başka bir kullanıcıya verilir.
Nasıl bir saklı yordam bağımlılıkları görüntülemek için
Aşağıdakilerden birini kullanabilirsiniz:
SQL Server Management Studio
Transact-SQL
SQL Server Management Studio Kullanarak
Nesne Explorer'da bir yordam bağımlılıkları görüntülemek için
Nesne Explorer'da örneğine bağlanmak Veritabanı Altyapısıve bu örneği genişletin.
Genişletme veritabanları, hangi yordamı ait olduğu ve ardından veritabanı genişletin programlama.
Genişletme Saklı yordamlar, yordamı sağ tıklatın ve ardından Bağımlılıklarını görüntüleme.
Yordam bağımlı nesnelerin listesini görüntüleyin.
Yordam bağımlı olduğu nesneleri listesini görüntüleyin.
Click OK.
[Üst]
Transact-SQL'i Kullanma
Sorgu Düzenleyicisi'nde bir yordam bağımlılıkları görüntülemek için
Sistem işlevi:sys.dm_sql_referencing_entities
Bu işlev, bir yordam bağımlı nesneleri görüntülemek için kullanılır.İçinde Object Explorer, örneğine bağlanmak Veritabanı Altyapısıve bu örneği genişletin.
Genişletme veritabanları, yordamı ait veritabanı genişletin.
Tıklayın Yeni sorgu altında dosyasını menü.
Kopyalama ve aşağıdaki örneklerde sorgu düzenleyicisine yapıştırın. İlk örnek oluşturur uspVendorAllInfotüm satıcıların adlarını döndürür yordamı, Adventure Works Cyclesveritabanı, onlar tedarik ürünleri, kendi kredi derecelendirme ve kullanılabilirliklerini.
USE AdventureWorks2012; GO IF OBJECT_ID ( 'Purchasing.uspVendorAllInfo', 'P' ) IS NOT NULL DROP PROCEDURE Purchasing.uspVendorAllInfo; GO CREATE PROCEDURE Purchasing.uspVendorAllInfo WITH EXECUTE AS CALLER AS SET NOCOUNT ON; SELECT v.Name AS Vendor, p.Name AS 'Product name', v.CreditRating AS 'Rating', v.ActiveFlag AS Availability FROM Purchasing.Vendor v INNER JOIN Purchasing.ProductVendor pv ON v.BusinessEntityID = pv.BusinessEntityID INNER JOIN Production.Product p ON pv.ProductID = p.ProductID ORDER BY v.Name ASC; GO
Yordam oluşturulduktan sonra ikinci örnek kullanır sys.dm_sql_referencing_entitiesİşlev yordamı bağımlı nesneleri görüntülemek için.
USE AdventureWorks2012; GO SELECT referencing_schema_name, referencing_entity_name, referencing_id, referencing_class_desc, is_caller_dependent FROM sys.dm_sql_referencing_entities ('Purchasing.uspVendorAllInfo', 'OBJECT'); GO
Sistem işlevi:sys.dm_sql_referenced_entities
Bu işlev, bir yordam bağlıdır nesneleri görüntülemek için kullanılır.İçinde Object Explorer, örneğine bağlanmak Veritabanı Altyapısıve bu örneği genişletin.
Genişletme veritabanları, yordamı ait veritabanı genişletin.
Tıklayın Yeni sorgu altında dosyasını menü.
Kopyalama ve aşağıdaki örneklerde sorgu düzenleyicisine yapıştırın. İlk örnek oluşturur uspVendorAllInfotüm satıcıların adlarını döndürür yordamı, Adventure Works Cyclesveritabanı, onlar tedarik ürünleri, kendi kredi derecelendirme ve kullanılabilirliklerini.
USE AdventureWorks2012; GO IF OBJECT_ID ( 'Purchasing.uspVendorAllInfo', 'P' ) IS NOT NULL DROP PROCEDURE Purchasing.uspVendorAllInfo; GO CREATE PROCEDURE Purchasing.uspVendorAllInfo WITH EXECUTE AS CALLER AS SET NOCOUNT ON; SELECT v.Name AS Vendor, p.Name AS 'Product name', v.CreditRating AS 'Rating', v.ActiveFlag AS Availability FROM Purchasing.Vendor v INNER JOIN Purchasing.ProductVendor pv ON v.BusinessEntityID = pv.BusinessEntityID INNER JOIN Production.Product p ON pv.ProductID = p.ProductID ORDER BY v.Name ASC; GO
Yordam oluşturulduktan sonra ikinci örnek kullanır sys.dm_sql_referenced_entitiesİşlev yordamı bağlıdır nesneleri görüntülemek için.
USE AdventureWorks2012; GO SELECT referenced_schema_name, referenced_entity_name, referenced_minor_name,referenced_minor_id, referenced_class_desc, is_caller_dependent, is_ambiguous FROM sys.dm_sql_referencing_entities ('Purchasing.uspVendorAllInfo', 'OBJECT'); GO
Nesne Kataloğu görüntüle:sys.sql_expression_dependencies
Bu görünüm, bir yordama bağlı ya da bağlı olan bir yordam nesneleri görüntülemek için kullanılabilir.Bir yordam bağımlı nesneleri görüntüleme.
İçinde Object Explorer, örneğine bağlanmak Veritabanı Altyapısıve bu örneği genişletin.
Genişletme veritabanları, yordamı ait veritabanı genişletin.
Tıklayın Yeni sorgu altında dosyasını menü.
Kopyalama ve aşağıdaki örneklerde sorgu düzenleyicisine yapıştırın. İlk örnek oluşturur uspVendorAllInfotüm satıcıların adlarını döndürür yordamı, Adventure Works Cyclesveritabanı, onlar tedarik ürünleri, kendi kredi derecelendirme ve kullanılabilirliklerini.
USE AdventureWorks2012; GO IF OBJECT_ID ( 'Purchasing.uspVendorAllInfo', 'P' ) IS NOT NULL DROP PROCEDURE Purchasing.uspVendorAllInfo; GO CREATE PROCEDURE Purchasing.uspVendorAllInfo WITH EXECUTE AS CALLER AS SET NOCOUNT ON; SELECT v.Name AS Vendor, p.Name AS 'Product name', v.CreditRating AS 'Rating', v.ActiveFlag AS Availability FROM Purchasing.Vendor v INNER JOIN Purchasing.ProductVendor pv ON v.BusinessEntityID = pv.BusinessEntityID INNER JOIN Production.Product p ON pv.ProductID = p.ProductID ORDER BY v.Name ASC; GO
Yordam oluşturulduktan sonra ikinci örnek kullanır sys.sql_expression_dependenciesyordam bağımlı nesneleri görüntülemek için görünümü.
USE AdventureWorks2012; GO SELECT OBJECT_SCHEMA_NAME ( referencing_id ) AS referencing_schema_name, OBJECT_NAME(referencing_id) AS referencing_entity_name, o.type_desc AS referencing_desciption, COALESCE(COL_NAME(referencing_id, referencing_minor_id), '(n/a)') AS referencing_minor_id, referencing_class_desc, referenced_class_desc, referenced_server_name, referenced_database_name, referenced_schema_name, referenced_entity_name, COALESCE(COL_NAME(referenced_id, referenced_minor_id), '(n/a)') AS referenced_column_name, is_caller_dependent, is_ambiguous FROM sys.sql_expression_dependencies AS sed INNER JOIN sys.objects AS o ON sed.referencing_id = o.object_id WHERE referenced_id = OBJECT_ID(N'Purchasing.uspVendorAllInfo') GO
Nesneleri görüntüleme bir yordam bağlıdır.
İçinde Object Explorer, örneğine bağlanmak Veritabanı Altyapısıve bu örneği genişletin.
Genişletme veritabanları, yordamı ait veritabanı genişletin.
Tıklayın Yeni sorgu altında dosyasını menü.
Kopyalama ve aşağıdaki örneklerde sorgu düzenleyicisine yapıştırın. İlk örnek oluşturur uspVendorAllInfotüm satıcıların adlarını döndürür yordamı, Adventure Works Cyclesveritabanı, onlar tedarik ürünleri, kendi kredi derecelendirme ve kullanılabilirliklerini.
USE AdventureWorks2012; GO IF OBJECT_ID ( 'Purchasing.uspVendorAllInfo', 'P' ) IS NOT NULL DROP PROCEDURE Purchasing.uspVendorAllInfo; GO CREATE PROCEDURE Purchasing.uspVendorAllInfo WITH EXECUTE AS CALLER AS SET NOCOUNT ON; SELECT v.Name AS Vendor, p.Name AS 'Product name', v.CreditRating AS 'Rating', v.ActiveFlag AS Availability FROM Purchasing.Vendor v INNER JOIN Purchasing.ProductVendor pv ON v.BusinessEntityID = pv.BusinessEntityID INNER JOIN Production.Product p ON pv.ProductID = p.ProductID ORDER BY v.Name ASC; GO
Yordam oluşturulduktan sonra ikinci örnek kullanır sys.sql_expression_dependenciesyordam bağlıdır nesneleri görüntülemek için görünümü.
USE AdventureWorks2012; GO SELECT OBJECT_NAME(referencing_id) AS referencing_entity_name, o.type_desc AS referencing_desciption, COALESCE(COL_NAME(referencing_id, referencing_minor_id), '(n/a)') AS referencing_minor_id, referencing_class_desc, referenced_class_desc, referenced_server_name, referenced_database_name, referenced_schema_name, referenced_entity_name, COALESCE(COL_NAME(referenced_id, referenced_minor_id), '(n/a)') AS referenced_column_name, is_caller_dependent, is_ambiguous FROM sys.sql_expression_dependencies AS sed INNER JOIN sys.objects AS o ON sed.referencing_id = o.object_id WHERE referencing_id = OBJECT_ID(N'Purchasing.uspVendorAllInfo') GO
Ayrıca bkz.
Başvuru
sys.dm_sql_referencing_entities (Transact-sql)
sys.dm_sql_referenced_entities (Transact-sql)
c.sys.sql_expression_dependencies (Transact-sql)