我們可以利用:
DBCC SQLPERF 陳述式
提供所有資料庫如何使用交易記錄空間的統計資料。它可以用來重設等候及閂鎖統計資料。
權限
若要執行 DBCC SQLPERF(LOGSPACE),需要伺服器的 VIEW SERVER STATE 權限。
若要重設等候和閂鎖統計資料,需要伺服器的 ALTER SERVER STATE 權限。
EX1. 顯示所有資料庫的記錄檔空間資訊
下列範例會顯示目前所安裝之所有資料庫的 LOGSPACE 資訊。
DBCC SQLPERF(LOGSPACE); GO
以下為結果集:
可能的缺陷:
- 顯示的是每個資料庫其交易記錄其所佔用實體檔案的百分比。
- 無法排序。
- 無法僅搭配篩選式來過濾資料。
我們以下的改寫範例可為參考:
檢視全部的交易記錄檔的空間使用 -- 使用資料表變數
SET NOCOUNT ON DECLARE @tLogSize TABLE (DBName sysname, logsize float, used float, status int) INSERT INTO @tLogSize EXECUTE ('DBCC SQLPERF(LOGSPACE)') -- 依據交易記錄檔的大小,由高到低的進行排序 SELECT DBName '資料庫', logsize N'交易記錄檔整體使用的硬碟空間(MB)', (logsize*used/100) N'交易記錄檔整體的實際使用(MB)' FROM @tLogSize ORDER BY 2 DESC
以下為結果集:
- 可以依其所需進行排序。
- 可以依其所需進行篩選資料。
- 可彈性自訂所需要的資料,例如:顯示實際所佔用的磁碟空間(MB)等等。
沒有留言:
張貼留言