Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Полная информация об использовании столбца таблицы  [new]
Шамиль Фаридович
Member

Откуда: Саратов
Сообщений: 495
В БД все первичные ключи имеют тип uniqueidentifier.
Поставлена задача сделать все PK целочисленными (int).
Как получить список всех объектов БД, где каким-либо образом используется заданный столбец таблицы, в первую очередь интересуют внешние ключи?
26 июл 12, 17:27    [12921073]     Ответить | Цитировать Сообщить модератору
 Re: Полная информация об использовании столбца таблицы  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
Шамиль Фаридович,

В Management Studio, на табличке правой кнопкой - Просмотреть зависимости (Объекты зависящие от, Объекты от которых зависит)
26 июл 12, 17:30    [12921103]     Ответить | Цитировать Сообщить модератору
 Re: Полная информация об использовании столбца таблицы  [new]
Владимир Затуливетер
Member

Откуда:
Сообщений: 427
Шамиль Фаридович
интересуют внешние ключи

отфильтруйте по нужным столбцам
select  fk.name as FKName
      , po.name as ParrentObjectName
      , pcol.name as ParrentColumnName
      , ro.name as ReferencedObjectName
      , rcol.name as ReferencedColumnName
from    sys.foreign_keys fk
        join sys.foreign_key_columns fkcol on fkcol.constraint_object_id = fk.object_id
        join sys.objects po on po.object_id = fkcol.parent_object_id
        join sys.objects ro on ro.object_id = fkcol.referenced_object_id
        join sys.columns pcol on pcol.object_id = fkcol.parent_object_id
                                 and pcol.column_id = fkcol.parent_column_id
        join sys.columns rcol on rcol.object_id = fkcol.referenced_object_id
                                 and rcol.column_id = fkcol.referenced_column_id
order by fk.name	
26 июл 12, 20:20    [12921904]     Ответить | Цитировать Сообщить модератору
 Re: Полная информация об использовании столбца таблицы  [new]
Шамиль Фаридович
Member

Откуда: Саратов
Сообщений: 495
Владимир Затуливетер,
спасибо, по внешним ключам это как раз то, что нужно!
А можно ли получить аналогичный скрипт использования столбца в хранимых процедурах, хотя бы тех, где он явным образом задан?
27 июл 12, 08:51    [12923038]     Ответить | Цитировать Сообщить модератору
 Re: Полная информация об использовании столбца таблицы  [new]
invm
Member

Откуда: Москва
Сообщений: 9913
Шамиль Фаридович
А можно ли получить аналогичный скрипт использования столбца в хранимых процедурах, хотя бы тех, где он явным образом задан?
С помощью sys.sql_expression_dependencies получить список процедур и функций, где используется таблица, затем парсить их текст на предмет использования столбца.
27 июл 12, 09:21    [12923127]     Ответить | Цитировать Сообщить модератору
 Re: Полная информация об использовании столбца таблицы  [new]
Шамиль Фаридович
Member

Откуда: Саратов
Сообщений: 495
А из какой таблицы взять коды хранимых процедур и UDF?
27 июл 12, 11:32    [12924218]     Ответить | Цитировать Сообщить модератору
 Re: Полная информация об использовании столбца таблицы  [new]
Yasha123
Member

Откуда:
Сообщений: 1973
Шамиль Фаридович
А из какой таблицы взять коды хранимых процедур и UDF?


sys.sql_modules
27 июл 12, 12:00    [12924445]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить