테이블 크기를 일단위로 측정해서 데이터 변화량을 측정하려고 합니다.
데이터베이스가 A_DB, B_DB, C_DB 이렇게 있구요
A_DB에 TAB1, TAB2, TAB3
B_DB에 TAB4, TAB5, TAB6
C_DB에 TAB7, TAB8, TAB9 이렇게 각각 테이블이 존재합니다.
검색해보니 데이터베이스내 테이블 크기 조회 이런 쿼리는 많이 있더군요
하지만 A_DB에서 쿼리를 수행하면 TAB1, TAB2, TAB3 의 크기가 나오고 TAB4부터 TAB9까지는 안나옵니다
TAB4를 나오게 하려면 USE B_DB 이렇게 수행한 후 쿼리를 수행해야 하지요
제가 하고 싶은건 (쿼리든 프로시저든) 한번 수행해서
3개 데이터베이스안에 있는 모든 테이블(TAB1부터 TAB9까지)을 한번에 크기를 추출하고 싶습니다.
그리고 기왕이면 추출할 때 앞에 DB명까지 같이 넣고 싶습니다.
그래서 이 데이터를 가지고 INSERT SELECT를 통해 DB명.테이블명 으로 테이블별 크기를 이력관리 하려고 합니다
예를 들면 아래와 같이 말이죠
CHK_DATE | DB_NAME | TABLE_NAME | USED_SIZE
-------------+------------+---------------+------------
20130601 | A_DB | TAB1 | 100KB
20130601 | A_DB | TAB2 | 200KB
20130601 | A_DB | TAB3 | 300KB
20130601 | B_DB | TAB4 | 400KB
...
20130601 | C_DB | TAB9 | 100KB
어떻게 해야 모든 데이터베이스의 테이블의 크기를 한번에 추출할 수 있는지 방법을 알려주시면 감사하겠습니다.
Comment 2
-
쓸만한게없네(윤선식)
2013.06.04 12:52
-
토토로
2013.06.05 13:02
헐 이런프로시저가 있었군요
정말 감사합니다
http://laigo.kr/307
sp_MSforeachtable 두둥...