2008年12月19日 星期五

列出Log大小變化

執行結果如下圖



--SQL 2000適用
--在插入資料表變數時,不可使用 EXECUTE 當為來源
--所以只能實際建立資料表


create table dbo.logtable
(DBName varchar(30),
logsize float,
used float,
status bit)


insert into logtable
exec('dbcc sqlperf(logspace)')



-- 依據交易記錄檔的大小,由高到低的進行排序


SELECT DBName '資料庫', Convert( decimal(8,2),logsize) N'交易記錄檔使用的硬碟空間(MB)',
Convert( decimal(8,2),logsize*used/100) N'交易記錄檔實際的使用空間(MB)'
FROM logtable
ORDER BY 2 DESC




--SQL 2005適用
--在插入資料表變數時,不可使用 EXECUTE 當為來源(2005才能用)

DECLARE @tLogSize TABLE
(DBName sysname, logsize float, used float, status int)
INSERT into @tLogSize
exec ('DBCC SQLPERF(LOGSPACE)')


-- 依據交易記錄檔的大小,由高到低的進行排序

SELECT DBName '資料庫', Convert( decimal(8,2),logsize) N'交易記錄檔使用的硬碟空間(MB)',
Convert( decimal(8,2),logsize*used/100) N'交易記錄檔實際的使用空間(MB)'
FROM @tLogSize
ORDER BY 2 DESC

0 意見:

張貼留言