一些有用但文檔中沒有介紹的sql server DBCC命令

來源:互聯網
上載者:User
以下是一些sql server的DBCC命令,可以在最佳化 sql server時使用。  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從這個命令可以得到一些關鍵的統計資訊:l          Hit Ratio 顯示特定對象可以在sql server的緩衝中被命中的百分比,這個數值越大,越好l          Object Count 顯示特定類型的對象在sql server的緩衝中被命中的總數l          Avg.Cost:sql server用於測量編譯一個執行計畫所需的時間,以及這個計劃所需的記憶體。根據這個值,可以決定執行計畫是否應該載入在緩衝中。l          Avg.Pages:測量在緩衝中的對象使用8K頁的平均總數l          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),filenum,pagenum [,Print Option][,cache][,logical])參數說明:Dbid or dbname :可以是資料庫ID或資料庫名。PageNum:要檢查的頁號Print option:(可選)列印選項的值是:0,1,2。       0-(預設)顯示頁的頭資訊       1- 顯示頁的頭資訊,頁中每行的資訊以及頁的位移表。逐行顯示頁中的行。       2- 與選項1相同,除了不是逐行顯示頁行,而是顯示一個單個的資訊塊。Cache:(可選)該參數的值是1或0,0-      命令直接從磁碟尋找頁號而不是檢查頁號是否在快取中DBCC PAGE1-      若頁在快取中,優先從快取中擷取頁,而不是直接從磁碟中擷取頁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其中:l         Memor Used(8K Pages):若記憶體頁的數量非常大,這也許是個提示:表明一些使用者串連正在預先處理許多TSQL語句。l         Number CSql Objects:表明已經在快取中的TSQL的語句的總數l         Number False Hits:有時,當sql server在匹配在快取中已經存在的TSQL語句時會出現錯誤的命中。在理想的情況下,這個數字應該儘可能地小。  8 .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.0Scheduler Switches               0.0Total Work                       54056.0 以下是一些關鍵統計資訊的解釋:l         Scheduler ID:每個CPU對應一個發送器,這是發送器的序號l         Num user:目前在調度隊列中的SQL Server線程數目l         Num runnable: 目前正在啟動並執行SQL Server線程數目l         Num Workers:線程池的大小l         Idle workers:正在閒置workers。l         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 IND ('pagesplittest', 't1', 1);

GO

This command list all the pages that are allocated to an index. Here's the output in this case:

The columns mean:

  • PageFID - the file ID of the page
  • PagePID - the page number in the file
  • IAMFID - the file ID of the IAM page that maps this page (this will be NULL for IAM pages themselves as they're not self-referential)
  • IAMPID - the page number in the file of the IAM page that maps this page
  • ObjectID - the ID of the object this page is part of
  • IndexID - the ID of the index this page is part of
  • PartitionNumber - the partition number (as defined by the partitioning scheme for the index) of the partition this page is part of
  • PartitionID - the internal ID of the partition this page is part of
  • iam_chain_type - see IAM chains and allocation units in SQL Server 2005
  • PageType - the page type. Some common ones are:
    • 1 - data page
    • 2 - index page
    • 3 and 4 - text pages
    • 8 - GAM page
    • 9 - SGAM page
    • 10 - IAM page
    • 11 - PFS page
  • IndexLevel - what level the page is at in the index (if at all). Remember that index levels go from 0 at the leaf to N at the root page (except in clustered indexes in SQL Server 2000 and 7.0 - where there's a 0 at the leaf level (data pages) and a 0 at the next level up (first level of index pages))
  • NextPageFID and NextPagePID - the page ID of the next page in the doubly-linked list of pages at this level of the index
  • PrevPageFID and PrevPagePID - the page ID of the previous page in the doubly-linked list of pages at this level of the index
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.