마이크로소프트 2000 서버에서 쿼리탐색기를 사용할 경우에는 테이블에서 바로 조회할수 있는 기능이 있지만,
마이크로소프트 2008 서버에서 관리스튜디오로 조회했을 경우에는 조회할 기능이 없다.
참고블로그 :
http://zmeun.tistory.com/category/SQL
SQL SERVER의 데이타베이스는 객체( 테이블, 스토아 프로지저, 인덱스, 뷰 등)에 대한 메타데이타 정보를 저장하고 있다.
1. 객체와 객체의 연관성에 대한 정보를 가지고 있는 테이블 : SYSDEPENDS
중요한 열이름은 ID(객체ID), DEPID(종속된 객체ID) 칼럼이다.
D = 기본값 또는 DEFAULT 제약 조건
F = FOREIGN KEY 제약 조건
L = 로그
FN = 스칼라 함수
IF = 인라인 테이블 함수
P = 저장 프로시저
PK = PRIMARY KEY 제약 조건(유형은 K)
RF = 복제 필터 저장 프로시저
S = 시스템 테이블
TF = 테이블 함수
TR = 트리거
U = 사용자 테이블
UQ = UNIQUE 제약 조건(유형은 K)
V = 뷰
X = 확장 저장 프로시저
SELECT DISTINCT O.NAME
FROM SYSDEPENDS AS D
INNER JOIN SYSOBJECTS AS O ON D.ID = O.ID
WHERE D.DEPID = [테이블ID] AND O.XTYPE = 'P'
WHEN 'P' THEN '저장 프로시져'
WHEN 'FN' THEN '함수'
END AS TYPE,
O.NAME
FROM SYSDEPENDS AS D
INNER JOIN SYSOBJECTS AS O ON D.ID = O.ID
WHERE D.DEPID IN
(SELECT O.ID
FROM SYSOBJECTS AS O
INNER JOIN SYSCOLUMNS AS C ON O.ID = C.ID
WHERE C.NAME = 'trace_yn' )
AND O.XTYPE IN ('P' , 'FN')
GROUP BY O.NAME, O.XTYPE
Following code will help to find all the Stored Procedures (SP) which are related to one or more specific tables. sp_help and sp_depends does not always return accurate results.
----Option 1
WHERE c.TEXT LIKE '%tablename%'
SELECT DISTINCT so.name
FROM
syscomments sc
INNER JOIN sysobjects so
ON sc.id=so.id
WHERE
sc.TEXT
LIKE '%tablename%'
----Option 2
SELECT DISTINCT o.name, o.xtype
FROM
syscomments c
INNER JOIN sysobjects o
ON c.id=o.id