서버 함수에 사용되는 기본 개체를 나열합니다
-
26-09-2020 - |
문제
아래를 사용하여 뷰의 기본 개체 목록을 가져옵니다:
SELECT view_name, Table_Name
FROM INFORMATION_SCHEMA.VIEW_TABLE_USAGE
WHERE View_Name IN
(
'View1', 'View2'
)
ORDER BY view_name, table_name
함수에서 기본 개체를 제공하는 시스템 테이블을 찾을 수 없습니다.이 정보를 쉽게 끌어내는 방법을 아는 사람이 있습니까?나는 여러 기본 데시벨 객체를 가진 많은 함수를 다루고 있으며 이 정보를 얻기 위한 수동 노력을 피하고 싶습니다.감사!
해결책
"Nofollow"> sp_depends 모든 현재 버전에서 종속 개체 목록을 제공합니다.SQL Server의 경우에는 더 이상 사용되지 않습니다.
참조하는 개체를 찾는 방법이있는 MSDN 문서 입니다.함수와 작은 수정 기능은 함수에서 참조하는 객체 목록을 가져올 수 있습니다.
SELECT OBJECT_NAME(object_id) AS referencing_object_name
,COALESCE(COL_NAME(object_id, column_id), '(n/a)') AS referencing_column_name
,object_name(referenced_major_id) as referenced_object
,*
FROM sys.sql_dependencies
--WHERE referenced_major_id = OBJECT_ID('schema.objectname')
where object_id = object_id('schema.objectname')
ORDER BY OBJECT_NAME(object_id), COL_NAME(object_id, column_id);
.
다른 팁
*읽어 보시기 바랍니다 *
위의 답변에서 언급 한 바와 같이, sys.sql_dependencies
사용되지 않습니다.
이 기능은 향후 버전에서 제거됩니다. 서버새로운 개발 작업에서 이 기능을 사용하지 말고 다음을 계획하십시오 현재 이 기능을 사용하는 응용 프로그램을 수정합니다.사용 시스템대신.
나는 3 개의 함수 중에서 하나의 함수를 관찰했다. sys.sql_dependencies
,그리고 나는 모든 것을 발견했다 sys.sql_expression_dependencies
대신 테이블.그래서 종속성을 얻기 위해 아래를 사용:
select *
from sys.sql_expression_dependencies
where referencing_id = object_id('schema.object_name')
제휴하지 않습니다 dba.stackexchange