시스템 데이터베이스를 제외한 사용자 데이터베이스의 전체 테이블 목록과 해당 테이블의 rows 를 확인하는 방법에 대해서 아래와 같이 쿼리를 정리하였습니다.
-- 전체 테이블
EXEC sp_MSForEachDB 'Use [?];
-- 시스템 데이터베이스 제외
IF DB_ID(''?'') > 4
BEGIN
SELECT ''?'' AS ''Database'', O.name, I.rows FROM SYSOBJECTS O INNER JOIN SYSINDEXES I ON O.id = I.id
WHERE O.xtype = ''U'' AND I.indid < 2
ORDER BY I.rows DESC, O.name ASC
END'
EXEC sp_MSForEachDB 'Use [?];
-- 시스템 데이터베이스 제외
IF DB_ID(''?'') > 4
BEGIN
SELECT ''?'' AS ''Database'', O.name, I.rows FROM SYSOBJECTS O INNER JOIN SYSINDEXES I ON O.id = I.id
WHERE O.xtype = ''U'' AND I.indid < 2
ORDER BY I.rows DESC, O.name ASC
END'
쿼리 실행 결과는 아래와 같습니다.
[참고자료]
sp_MSforeachdb, sp_MSforeachtable 프로시저 활용
http://laigo.kr/307
작성자 : Lai Go / 작성일자 : 2010.01.15