Выявить зависимости на уровне столбца между базами данных - PullRequest
2 голосов
/ 17 августа 2010

Есть ли способ определить зависимости на уровне столбцов внутри и между базами данных?Я хотел бы создать отчет обо всех столбцах в базе данных, которые ничем не используются (представления, процессы, пользовательские функции).

например,

В базе данных 'DB1' есть таблица со столбцом с именем 'col1'.Как определить, используется ли 'col1' процессорами, представлениями или пользовательскими функциями в базе данных 'DB1' или во второй базе данных 'DB2'?

Спасибо

Ответы [ 2 ]

2 голосов
/ 17 августа 2010

Вы можете попробовать:

SELECT OBJECT_NAME(m.object_id), m.*
  FROM SYS.SQL_MODULES m
 WHERE m.definition LIKE N'%my_column_name%'

SYSCOMMENTS и INFORMATION_SCHEMA.routines иметь столбцы nvarchar (4000).Так что, если «my_column_name» используется в позиции 3998, он не будет найден.SYSCOMMENTS имеет несколько строк, но ROUTINES усекает.

Но это не поможет в ситуациях SELECT *, поскольку имя столбца не будет в тексте.

0 голосов
/ 17 августа 2010

Если это только col1, db1 и db2, вы можете записать объекты в db1 и db2 и найти ссылки на col1.

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