"종속성보기"메뉴를 사용하여 Management Studio가 표시하는 것을 정확히 찾고 있습니다.개체의 종속성을 반환하는 쿼리를 작성하십시오.
- Management Studio를 마우스 오른쪽 버튼으로 객체를 클릭하고 "보기 종속성"
- 이제 앞뒤로 종속성을 탐색 할 수 있습니다를 선택 SQL 서버 2008
- 에 연결.
프로그래밍 방식으로 동일한 정보를 얻으려면 어떻게해야합니까? (SQL 쿼리?)
"종속성보기"메뉴를 사용하여 Management Studio가 표시하는 것을 정확히 찾고 있습니다.개체의 종속성을 반환하는 쿼리를 작성하십시오.
프로그래밍 방식으로 동일한 정보를 얻으려면 어떻게해야합니까? (SQL 쿼리?)
Before you run the following query, replace <database_name> and <schema_name.function_name> with valid names
USE <database_name>;
GO
SELECT OBJECT_NAME(object_id) AS referencing_object_name
,COALESCE(COL_NAME(object_id, column_id), '(n/a)') AS referencing_column_name
,*
FROM sys.sql_dependencies
WHERE referenced_major_id = OBJECT_ID('<schema_name.function_name>')
ORDER BY OBJECT_NAME(object_id), COL_NAME(object_id, column_id);
GO
sys 및 INFORMATION_SCHEMA 테이블의 메타 데이터를 확인하십시오.
모두 유용 할 수있는 this answer, this answer 및 this answer이 있습니다.
는 여기에 또 다른 간단한 방법입니다 :
SELECT DISTINCT
O.ID ,
O.Name AS TableName ,
O.xtype
FROM
sysObjects O (NOLOCK)
INNER JOIN sysComments C (NOLOCK) ON O.ID = C.ID
WHERE
C.text LIKE '%<schema_name.function_name>%'
ORDER BY
XType ,
TableName
Before you run the following query, replace <schema_name.function_name> with a valid name
난이 오래된 질문 알지만, 나 또한 내 자신의 해결책을 오는 동안 내가 나 자신을 보았다 알고있다.
더 이상 사용되지 않는 sys.sql_dependencies
을 사용하는 대신 sys.dm_sql_referencing_entities
테이블 값 기능을 사용할 수 있습니다. 코드 테스트
DECLARE @table varchar(max);
SET @table = 'schema.objectname';
;with
DepsOn As (
SELECT CAST(@table As varchar(max)) As parent
, CAST(l1.referencing_schema_name
+ '.'
+ l1.referencing_entity_name As varchar(max)) As child
, l1.referencing_class_desc As [description]
, 0 As Depth
FROM sys.dm_sql_referencing_entities(@table,'OBJECT') l1
UNION ALL
SELECT l2.child As parent
, cast(l2ca.referencing_schema_name
+ '.'
+ l2ca.referencing_entity_name As varchar(max)) As child
, l2ca.referencing_class_desc As [description]
, l2.Depth + 1 As Depth
FROM DepsOn l2
CROSS APPLY sys.dm_sql_referencing_entities(l2.child,'OBJECT') l2ca
)
SELECT *
FROM DepsOn
:
다음 쿼리는 종속 체인의 각 단계를 보여주는 종속성을 추적하는 재귀 적으로 호출합니다. 나는 그것을 실행하고 이동 내 필요한 출력을
SELECT referencing_schema_name, referencing_entity_name,
referencing_id, referencing_class_desc, is_caller_dependent
FROM sys.dm_sql_referencing_entities ('dbo.yourobject', 'OBJECT');
GO
VishalDream
예 ... 내가 본 몇 가지 솔루션을 ...하지만 난 게으른되고있어와 방탄 솔루션을 원하는 내 시행 착오를하지 않고 :-) – Nestor
문제 없음 - 쿼리를 qrite하는 법을 물었습니다. ;-) –