一些很有用的 SQL Server DBCC 統計命令

來源:互聯網
上載者:User

◆1.DBCC CacheStats :顯示存在於當前 buffer Cache 中的對象的資訊,例如 :hit rates,編譯的對象和執行計畫 .
例: .
DBCC CACHESTATS ..
執行結果(縮減) .
Object Name Hit Ratio 。
------------ ------------- 
Proc 0.86420054765378507 
Prepared 0.99988494930394334 ..
Adhoc 0.93237136647793051 
ReplProc 0.0 ..
Trigger 0.99843452831887947 
Cursor 0.42319205924058612 。
Exec Cxt 0.65279111666076906 ..
View 0.95740334726893905 
Default 0.60895011346896522 。
UsrTab 0.94985969576133511 。
SysTab 0.0 .
Check 0.67021276595744683 !
Rule 0.0 
Summary 0.80056155581812771 .
從這個命令可以得到一些關鍵的統計資訊: 
Hit Ratio:顯示特定對象可以在sql server的緩衝中被命中的百分比,這個數值越大,越好 .
Object Count:顯示特定類型的對象在sql server的緩衝中被命中的總數 
Avg.Cost:sql server用於測量編譯一個執行計畫所需的時間,以及這個計劃所需的記憶體。根據這個值,可以決定執行計畫是否應該載入在緩衝中。 
Avg.Pages:測量在緩衝中的對象使用8K頁的平均總數 ..
LW Ojbect Count,LW Avg Cost,WL Avg Stay,LW Ave Use:這些列的值表明有多少特定的對象已經被寫進程從緩衝總移走。這些數值越低,越好。 .
 
◆2.DBCC DROPCLEANBUFFERS:從緩衝池中刪除所有,清除緩衝區。在進行測試時,使用這個命令可以從sql server’s的資料緩衝data cache(buffer)清除所有的測試資料,以保證測試的公正性。需要注意的是這個命令只移走乾淨的緩衝,不移走髒緩衝。由於這個原因,在執行這個命令前,應該先執行CheckPoint,將所有髒的緩衝寫入磁碟,這樣在運行DBCC RROPCLEANBUFFERS 時,可以保證所有的資料緩衝被清理,而不是其中的一部分。 . 

◆3.DBCC ErrorLog :如果很少重起mssqlserver服務,那麼伺服器的日誌會增長得很快,而且開啟和查看日誌的速度也會很慢。使用這個命令,可以截斷當前的伺服器日誌,主要是產生一個新的日誌。可以考慮設定一個調度任務,每周執行這個命令自動截斷伺服器日誌。使用預存程序sp_cycle_errorlog也可以達到同樣的目的。 .

◆4.DBCC FLUSHPROCINDB:用於清理一個資料庫執行個體中指定資料庫的預存程序使用的緩衝。資料庫的ID是必輸參數。 
在測試時保證以前的預存程序計劃不會對測試結果造成負面影響,可以使用這個預存程序。 
例子: 
DECLARE @intDBID INTEGER SET @intDBID = (SELECT dbid FROM master.dbo.sysdatabases WHERE name = 'database_name') .
DBCC FLUSHPROCINDB (@intDBID) ..

◆5.DBCC FREEPROCCACHE:用於清理所有資料庫的過程快取。例如,釋放過程快取將導致重新編譯某些部分(例如特別 SQL 陳述式),而不是從快取中對其再使用。 

◆6.DBCC MEMORYSTATUS:列出一個詳細分類,分類中顯示sql server緩衝如何分配,包括緩衝的活動。 

◆7.DBCC PAGE:用於查看sql server 中一個資料頁的內容 .
例: 。
DBCC PAGE((dbid|dbname),pagenum [,Print Option][,cache][,logical]) 。
Dbid or dbname :可以是資料庫ID或資料庫名
PageNum:要檢查的頁號 .
Print option:(可選)列印選項的值是:0,1,2。 
0-(預設)顯示頁的頭資訊 
1- 顯示頁的頭資訊,頁中每行的資訊以及頁的位移表。逐行顯示頁中的行。 。
2- 與選項1相同,除了不是逐行顯示頁行,而是顯示一個單個的資訊塊。 .
Cache:(可選)該參數的值是1或0, !
0- 命令直接從磁碟尋找頁號而不是檢查頁號是否在快取中DBCC PAGE !
1- 若頁在快取中,優先從快取中擷取頁,而不是直接從磁碟中擷取頁 
Logical:(可選)該參數用於頁號是從虛擬頁中擷取還是邏輯頁中擷取。這個參數的值可以是1或0
0- 一個虛擬頁號 ..
1- 一個邏輯頁號 

◆8.DBCC SQLMGRSTATS:用於產生3個不同的值,這些值用在你想查看快取在ad-hoc和先行編譯的TSQL語句中是如何工作的。 
例: 
DBCC SQLMGRSTATS 
結果: .
Item Status .
------------------------- ----------- 
Memory Used (8k Pages) 5446 .
Number CSql Objects 29098 !
Number False Hits 425490 。
-----
Memor Used(8K Pages):若記憶體頁的數量非常大,這也許是個提示:表明一些使用者串連正在預先處理許多TSQL語句.
Number CSql Objects:表明已經在快取中的TSQL的語句的總數 
Number False Hits:有時,當sql server在匹配在快取中已經存在的TSQL語句時會出現錯誤的命中。在理想的情況下,這個數字應該儘可能地小.

◆9.DBCC SQLPERF():這個命令包括了那些有文檔說明和沒有說明的選項.
DBCC SQLPERF ( LOGSPACE ) 
提供有關所有資料庫中的交易記錄空間使用方式的統計資訊。具體說明可參考線上說明.
DBCC SQLPERF(UMSSTATS):提供有關sql server 線程管理情況的統計資訊 .
運行這個命令,結果如下: ..
Statistic Value 
-----------------------
Scheduler ID 0.0 .
num users 17.0 
num runnable 0.0 ...
num workers 13.0 
idle workers 6.0 ..
work queued 0.0 
cntxt switches 76752.0 
cntxt switches(idle) 47139.0 .
Scheduler Switches 0.0 。
Total Work 54056.0 

-------------------------------------------------
以下是一些關鍵統計資訊的解釋: .
Scheduler ID:每個CPU對應一個發送器,這是發送器的序號 
Num user:目前在調度隊列中的SQL Server線程數目 。
Num runnable: 目前正在啟動並執行SQL Server線程數目 。
Num Workers:線程池的大小 .
Idle workers:正在閒置workers。 .
Cntxt switches:在可執行檔線程之間交換內容相關的數目 

---------------------
DBCC SQLPERF(WAITSTATS):提供有關sql server read-ahead activity的資訊 !
DBCC SQLOERF(IOSTATS):提供主要的SQL server讀和寫的資訊 
DBCC SQLPERF(RASTATS):提供SQL server read-ahead 活動的資訊 
DBCC SQLPERF (THREADS):提供每個sql server線程的I/O,CPU及記憶體使用量情況的資訊.

------------------------------------------
dbcc showfilestats :可查看資料庫中資料檔案的整體使用方式(按區統計)
 --
dbcc showcontig :可瞭解具體頁、區使用方式及片段程度等資訊(按頁統計)--對效能有部分影響
--------------

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.