2011-03-09 6 views
5

외래 키를 통해 지정된 테이블을 참조하는 다른 테이블을 포함하여 주어진 테이블에 종속 된 모든 db 개체를 찾고 싶습니다. 내가 "sp_depends"를 사용하여 시도하고 sprocs,보기 및 트리거를 제공하지만 다른 테이블에 주어진 테이블에 외래 키가 무엇인지 말해주지 않습니다. 어떤 도움이 필요합니까? SSMS에서SQL Server - 모든 외래 키 종속성보기

답변

9
select OBJECT_NAME(parent_object_id), OBJECT_NAME(referenced_object_id) 
    from sys.foreign_keys 
    where referenced_object_id = object_id('SchemaName.TableName') 
+0

정확히 내가 필요한 것. 감사. – thenoob

1

: 오른쪽 테이블을 클릭하고 주요 성분은 sys.foreign_keys보기입니다 "View Dependencies"

+0

내가 언급 했어야하지만 SQL에서 할 수 있기를 바란다 - 의존성 보고서를 생성 할 가능성이 가장 높다 – thenoob

+0

외래 키 종속성이 아닌 저장 프로 시저, 트리거 및 기타 물건의 종속성 만 표시한다 – pufos

2

클릭합니다. 나는 mssqltips.com에서 문서의 예로서 유용 할 수 있습니다 쿼리 ...

1

Identify all of your foreign keys in a SQL Server database는 또한이 시도를 발견

USE AUX; <- use your database name 
GO 
SELECT f.name AS ForeignKey, 
SCHEMA_NAME(f.SCHEMA_ID) SchemaName, 
OBJECT_NAME(f.parent_object_id) AS TableName, 
COL_NAME(fc.parent_object_id,fc.parent_column_id) AS ColumnName, 
SCHEMA_NAME(o.SCHEMA_ID) ReferenceSchemaName, 
OBJECT_NAME(f.referenced_object_id) AS ReferenceTableName, 
COL_NAME(fc.referenced_object_id,fc.referenced_column_id) AS ReferenceColumnName 
FROM sys.foreign_keys AS f 
INNER JOIN sys.foreign_key_columns AS fc ON f.OBJECT_ID = fc.constraint_object_id 
INNER JOIN sys.objects AS o ON o.OBJECT_ID = fc.referenced_object_id 
GO 

마지막 GO 전에 전용 종속성을 볼 수 where OBJECT_NAME(f.parent_object_id) = 'your_table_name'을 추가 할 수 있습니다

그 테이블을 위해.

인쇄 될 것입니다. TableName | Column name (FK) | Reference TableName | Reference Column Name

+0

이것은 가장 좋은 대답이라고 생각합니다. –