2015-02-03 3 views
0

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

Я пробовал «просматривать зависимости», но это не перечисляет все ссылки. Я также попробовал «таблицу сценариев как> создать для», которая работала для некоторых таблиц, но у меня нет достаточного разрешения для других.

Другой дорожный блок состоит в том, что внешние ключи в данной таблице не имеют то же имя, что и первичный ключ в таблице, на которую ссылаются, поэтому, даже если бы я хотел выполнить ручной поиск (развернуть столбцы каждой таблицы), я бы не стал на 100% уверен, что нашел правильный стол.

ответ

1

Я думаю, что следующие stackoverflow link имеют ответы, которые вы ищете. Он имеет несколько запросов, которые я использую один заданный «Gustavo Rubio», пожалуйста, найти тот же запрос ниже

SELECT obj.name AS FK_NAME, 
sch.name AS [schema_name], 
tab1.name AS [table], 
col1.name AS [column], 
tab2.name AS [referenced_table], 
col2.name AS [referenced_column] 
FROM 
    sys.foreign_key_columns fkc 
INNER JOIN 
    sys.objects obj ON obj.object_id = fkc.constraint_object_id 
INNER JOIN 
    sys.tables tab1 ON tab1.object_id = fkc.parent_object_id 
INNER JOIN 
    sys.schemas sch ON tab1.schema_id = sch.schema_id 
INNER JOIN 
    sys.columns col1 ON col1.column_id = parent_column_id AND col1.object_id = tab1.object_id 
INNER JOIN 
    sys.tables tab2 ON tab2.object_id = fkc.referenced_object_id 
INNER JOIN 
    sys.columns col2 ON col2.column_id = referenced_column_id AND col2.object_id = tab2.object_id 
ORDER BY 
    [table] ASC 
+0

Спасибо, я в конечном итоге с помощью sp_help «TableName» и что, казалось, решить мою проблему. – iliketolearn

Смежные вопросы