반응형
EM에서 DB 파일 사용량을 체크 할 수도 있고
DBCC SHOWFILESTATS 를 이용해서 하나하나 볼 수도 있지만
만약... DB가 전나게 많다면... ㅡ ㅡ??
그걸 일일이 마우스로 찍고 있거나 한줄씩 쿼리문을 계속 날린다?
이건 좀 뭔가... 노가다성이 다분해 보이므로... 쓸대 없이 계략을 꾸며 보았다.
컨셉은 이렇다!
DBCC SHOWFILESTATS 를 한방에 몰아서 결과를 봅시다~
또한.. 단순하므로 개념은 이러하다!
커서를 이용해서 USE + DBCC 로 와장창 정보를 끌어 모아서 테이블에 쑤셔 넣는다!
그리하여... 이따구 쿼리가 나오게 되었습니다.. 하하하 =ㅠ=
이 쿼리를 날리면 #size_tmp_dbcc 테이블에 결과값이 입력이 된다.
임시 테이블로 맹글꺼이므로 세션을 끝으면 삭제 된다.
그라믄 코드 들어가 봅시다~
IF EXISTS (select * from tempdb..sysobjects where name like '%#size_tmp_dbcc%')
DROP TABLE #size_tmp_dbcc
create table #size_tmp_dbcc (
fileid int,
filegroup int,
totalextents float,
usedextents float,
name varchar(1024),
filename varchar(1024)
)
declare @cmd nvarchar(50)
declare alldatabases cursor for
select name from master..sysdatabases
open alldatabases
declare @db nvarchar(128)
fetch next from alldatabases into @db
while (@@fetch_status = 0)
begin
set @cmd = 'use ' + @db + ' dbcc showfilestats'
insert into #size_tmp_dbcc execute(@cmd)
fetch next from alldatabases into @db
end
close alldatabases
deallocate alldatabases
select name,totalextents*64/1024 as 'Total Size', usedextents*64/1024 as 'Used Size' from #size_tmp_dbcc
select sum(totalextents*64/1024) as 'Ext Total', sum(usedextents*64/1024) as 'Used Total' from #size_tmp_dbcc
DROP TABLE #size_tmp_dbcc
create table #size_tmp_dbcc (
fileid int,
filegroup int,
totalextents float,
usedextents float,
name varchar(1024),
filename varchar(1024)
)
declare @cmd nvarchar(50)
declare alldatabases cursor for
select name from master..sysdatabases
open alldatabases
declare @db nvarchar(128)
fetch next from alldatabases into @db
while (@@fetch_status = 0)
begin
set @cmd = 'use ' + @db + ' dbcc showfilestats'
insert into #size_tmp_dbcc execute(@cmd)
fetch next from alldatabases into @db
end
close alldatabases
deallocate alldatabases
select name,totalextents*64/1024 as 'Total Size', usedextents*64/1024 as 'Used Size' from #size_tmp_dbcc
select sum(totalextents*64/1024) as 'Ext Total', sum(usedextents*64/1024) as 'Used Total' from #size_tmp_dbcc
실행하면 기본적으로 내가 보기위해서 날린 토탈 사이즈가 보일 것이다.
모든 데이터가 다 들어가 있으므로 알아서 이래저래 호작질 하믄 될 것이다.
근데... 뭐 여기서 더 건질게 있을랑가 모르겄어 -_-
... 뭐 항상 그렇듯이 오타를 조심하시고... ㅎㅎ
근데.. 이런거 포스팅 하기 귀찮아져 버렸다 =ㅅ= 뭘 위한 블로그 질인가~~~~~~~~
반응형
댓글