MSSQL에서 특정 테이블에서 사용되는 테이블 및 프로시저를 검색하거나 특정 테이블이 사용되는 프로시저를 검색하는 방법이 있습니다. 기존에는 sys.sysobjects 와 sys.syscomments를 조인하여 탐색을 했었는데 SQL SERVER에서 제공하는 시스템 테이블을 활용하면 보다 빠른 검색이 가능합니다. 바로 sys.dm_sql_referencing_entities 테이블 입니다. 간단하게 설명하자면 두 Entity 간의 (참조된 Entity, 참조한 Entity) 간에 SQL 문에 표시가 된 경우 해당 테이블에 데이터가 생성됩니다. 예를 들어 저장 프로시저가 지정된 참조 엔터티인 경우 이 함수는 테이블, 뷰, UDT(사용자 정의 형식), 또는 다른 저장 프로시저 등 이 저장 프로시저에서 참조되..
[MSSQL] 특정 테이블을 사용하는 프로시저 찾기
MSSQL에서 특정 테이블에서 사용되는 테이블 및 프로시저를 검색하거나 특정 테이블이 사용되는 프로시저를 검색하는 방법이 있습니다. 기존에는 sys.sysobjects 와 sys.syscomments를 조인하여 탐색을 했었는데 SQL SERVER에서 제공하는 시스템 테이블을 활용하면 보다 빠른 검색이 가능합니다. 바로 sys.dm_sql_referencing_entities 테이블 입니다. 간단하게 설명하자면 두 Entity 간의 (참조된 Entity, 참조한 Entity) 간에 SQL 문에 표시가 된 경우 해당 테이블에 데이터가 생성됩니다. 예를 들어 저장 프로시저가 지정된 참조 엔터티인 경우 이 함수는 테이블, 뷰, UDT(사용자 정의 형식), 또는 다른 저장 프로시저 등 이 저장 프로시저에서 참조되..
2020.03.24