Я хотел бы выбрать все виды и для каждого вида показать все виды, зависящие от этого вида. - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь выяснить, какие представления в моей базе данных больше не нужны, поэтому я делаю документ для отслеживания зависимостей каждого представления.В базе данных есть сотни представлений, поэтому просмотр и проверка зависимостей каждого из них по отдельности займет много времени.Есть ли способ получить всю информацию о зависимостях для каждого представления?Я очень плохо знаком с SQL и SSMS.

Ответы [ 2 ]

0 голосов
/ 04 июня 2019

Это именно то, что я искал и отлично работал:

SELECT  DB_NAME() AS dbname, 
 o.type_desc AS referenced_object_type, 
 d1.referenced_entity_name, 
 d1.referenced_id, 
        STUFF( (SELECT ', ' + OBJECT_NAME(d2.referencing_id)
   FROM sys.sql_expression_dependencies d2
         WHERE d2.referenced_id = d1.referenced_id
                ORDER BY OBJECT_NAME(d2.referencing_id)
                FOR XML PATH('')), 1, 1, '') AS dependent_objects_list
FROM sys.sql_expression_dependencies  d1 JOIN sys.objects o 
  ON  d1.referenced_id = o.[object_id]
GROUP BY o.type_desc, d1.referenced_id, d1.referenced_entity_name
ORDER BY o.type_desc, d1.referenced_entity_name
0 голосов
/ 04 июня 2019

Любой из этих двух может отображать зависимости

SELECT object_name(referenced_major_id)  
FROM sys.sql_dependencies
WHERE object_id = object_id('viewname')

Или

SELECT DISTINCT referenced_entity_name 
FROM sys.dm_sql_referenced_entities ('viewname', 'OBJECT') 

Для получения дополнительной информации, проверьте это https://www.mssqltips.com/sqlservertip/2999/different-ways-to-find-sql-server-object-dependencies/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...