카테고리 없음

[SQL 서버] SQL Server Management Studio“View Dependencies”의 대안 [닫힌]

행복을전해요 2021. 1. 14. 17:52

Red Gate에는 꽤 잘 작동하는 SQL Dependency Tracker 라는 도구가 있습니다.

기본 정보를 제공하는 sys.sql_dependencies 뷰에 대한 쿼리를 작성할 수도 있습니다. 이와 유사 :

SELECT o.name, o.type_desc, p.name, p.type_desc
FROM sys.sql_dependencies d
INNER JOIN sys.objects o
    ON d.object_id = o.object_id
    INNER JOIN sys.objects p
        ON d.referenced_major_id = p.object_id
        

다음은 종속성 찾기에 대한 기사입니다.

SQL Server 2005에서 종속성 찾기

-------------------

늦었지만 권장 도구가 무료이므로 유용하기를 바랍니다.

David가 추천 한 것과 유사한 도구 인 ApexSQL Search를 사용하고 있습니다. 그들은 동적 SQL을 제외한 모든 것에 대해 작동하는 자체 종속성 추적 메커니즘을 가지고 있다고 주장합니다.

나는 이것을 확인하기 위해 자세히 테스트하지 않았습니다.

면책 조항 : 나는이 회사와 관련이 없지만 그들의 도구를 자주 사용합니다.

-------------------

개체 이름과 텍스트 정의를 텍스트로 검색하는 SQL 검색을 사용해 볼 수 있습니다. 장점은 동적 SQL 참조도 선택한다는 것이고 단점은 실제 종속성 트리를 기반으로 검색하지 않기 때문에 오 탐지를 선택할 수 있다는 것입니다.

http://www.red-gate.com/products/sql-development/sql-search/

또 다른 장점은 현재 무료라는 것입니다.

-------------------

다음은 3 단계 프로세스입니다. 여전히 완벽하지는 않지만 일부 공백을 제거하는 데 도움이됩니다. "WidgetUser"테이블에 대한 종속성을 찾고 있다고 가정하십시오.

먼저 테이블에 대한 참조가있을 수있는 모든 모듈 목록을 가져옵니다. 쿼리 결과를 텍스트로 출력합니다.

select 'EXEC sys.sp_refreshsqlmodule ''dbo.' + OBJECT_NAME(m.object_id) + ''''
from sys.sql_modules m
where m.definition like '%WidgetUser%'

다음으로 해당 출력 텍스트를 붙여넣고 업데이트를 실행합니다. 이것은 다음과 같습니다.

EXEC sys.sp_refreshsqlmodule 'dbo.up_WidgetUser_Select'
EXEC sys.sp_refreshsqlmodule 'dbo.up_WidgetUser_Update'
EXEC sys.sp_refreshsqlmodule 'dbo.WidgetUserView'
EXEC sys.sp_refreshsqlmodule 'dbo.ufx_WidgetUser_Fooinize'
...

이제 종속성이 최신 상태이므로 다음을 실행하십시오 sp_depends.

EXEC sp_depends @objname = N'dbo.WidgetUser'


출처
https://stackoverflow.com/questions/22006778