日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
的SQLServerDBCC命令概述

此文主要向大家講述的是一些特別有用處,但相關(guān)文檔中沒有對其特別介紹的SQL Server DBCC命令,齊可以在優(yōu)化 SQL Server 時進行使用,如果你對其相關(guān)的實際操作有興趣了解的話,以下的文章將會給你提供相關(guān)的知識。

1.DBCC CacheStats:顯示存在于當(dāng)前 buffer Cache 中的對象的信息,例如 :hit rates,編譯的對象和執(zhí)行計劃。

例:

 
 
 
  1. DBCC CACHESTATS

執(zhí)行結(jié)果

 
 
 
  1. Object Name Hit Ratio
  2. ———— ————-
  3. Proc 0.86420054765378507
  4. Prepared 0.99988494930394334
  5. Adhoc 0.93237136647793051
  6. ReplProc 0.0
  7. Trigger 0.99843452831887947
  8. Cursor 0.42319205924058612
  9. Exec Cxt 0.65279111666076906
  10. View 0.95740334726893905
  11. Default 0.60895011346896522
  12. UsrTab 0.94985969576133511
  13. SysTab 0.0
  14. Check 0.67021276595744683
  15. Rule 0.0
  16. Summary 0.80056155581812771 

從這個命令可以得到一些關(guān)鍵的統(tǒng)計信息:

Hit Ratio:顯示特定對象可以在sql server的緩存中被命中的百分比,這個數(shù)值越大,越好。

Object Count:顯示特定類型的對象在sql server的緩存中被命中的總數(shù)。

Avg.Cost:sql server用于測量編譯一個執(zhí)行計劃所需的時間,以及這個計劃所需的內(nèi)存。根據(jù)這個值,可以決定執(zhí)行計劃是否應(yīng)該加載在緩存中。

Avg.Pages:測量在緩存中的對象使用8K頁的平均總數(shù)。

LW Ojbect Count,LW Avg Cost,WL Avg Stay,LW Ave Use:這些列的值表明有多少特定的對象已經(jīng)被寫進程從緩存總移走。這些數(shù)值越低,越好。

2.DBCC DROPCLEANBUFFERS:從緩沖池中刪除所有,清除緩沖區(qū)。在進行測試時,使用這個命令可以從sql server’s的數(shù)據(jù)緩存data cache(buffer)清除所有的測試數(shù)據(jù),以保證測試的公正性。需要注意的是這個命令只移走干凈的緩存,不移走臟緩存。由于這個原因,在執(zhí)行這個命令前,應(yīng)該先執(zhí)行CheckPoint,將所有臟的緩存寫入磁盤,這樣在運行SQL Server DBCC RROPCLEANBUFFERS 時,可以保證所有的數(shù)據(jù)緩存被清理,而不是其中的一部分。

3.DBCC ErrorLog :如果很少重起mssqlserver服務(wù),那么服務(wù)器的日志會增長得很快,而且打開和查看日志的速度也會很慢。使用這個命令,可以截斷當(dāng)前的服務(wù)器日志,主要是生成一個新的日志??梢钥紤]設(shè)置一個調(diào)度任務(wù),每周執(zhí)行這個命令自動截斷服務(wù)器日志。使用存儲過程sp_cycle_errorlog也可以達(dá)到同樣的目的。

4.DBCC FLUSHPROCINDB:用于清理一個數(shù)據(jù)庫實例中指定數(shù)據(jù)庫的存儲過程使用的緩存。數(shù)據(jù)庫的ID是必輸參數(shù)。

在測試時保證以前的存儲過程計劃不會對測試結(jié)果造成負(fù)面影響,可以使用這個存儲過程。

例子:

 
 
 
  1. DECLARE @intDBID INTEGER SET @intDBID = (SELECT dbid FROM
  2. master.dbo.sysdatabases WHERE name = ’database_name’)
  3. DBCC FLUSHPROCINDB (@intDBID) 

5.DBCC FREEPROCCACHE:用于清理所有數(shù)據(jù)庫的過程高速緩存。例如,釋放過程高速緩存將導(dǎo)致重新編譯某些部分(例如特別 SQL 語句),而不是從高速緩存中對其再使用。

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

7.SQL Server DBCC PAGE:用于查看sql server 中一個數(shù)據(jù)頁的內(nèi)容。

例:

 
 
 
  1. DBCC PAGE((dbid|dbname),pagenum [,Print Option][,cache][,logical])

參數(shù)說明:

Dbid or dbname :可以是數(shù)據(jù)庫ID或數(shù)據(jù)庫名。

PageNum:要檢查的頁號

Print option:(可選)打印選項的值是:0,1,2。

0-(缺省)顯示頁的頭信息。

1- 顯示頁的頭信息,頁中每行的信息以及頁的偏移表。逐行顯示頁中的行。

2- 與選項1相同,除了不是逐行顯示頁行,而是顯示一個單個的信息塊。

Cache:(可選)該參數(shù)的值是1或0

0- 命令直接從磁盤查找頁號而不是檢查頁號是否在高速緩存中DBCC PAGE

1- 若頁在高速緩存中,優(yōu)先從高速緩存中獲取頁,而不是直接從磁盤中獲取頁

Logical:(可選)該參數(shù)用于頁號是從虛擬頁中獲取還是邏輯頁中獲取。這個參數(shù)的值可以是1或0,

0- 一個虛擬頁號。

1- 一個邏輯頁號。

8.DBCC SQLMGRSTATS:用于產(chǎn)生3個不同的值,這些值用在你想查看高速緩存在ad-hoc和預(yù)編譯的TSQL語句中是如何工作的。

例:

DBCC SQLMGRSTATS

結(jié)果:

 
 
 
  1. Item Status
  2. ————————- ———–
  3. Memory Used (8k Pages) 5446
  4. Number CSql Objects 29098
  5. Number False Hits 425490 

其中:

Memor Used(8K Pages):若內(nèi)存頁的數(shù)量非常大,這也許是個提示:表明一些用戶連接正在預(yù)處理許多TSQL語句。

Number CSql Objects:表明已經(jīng)在高速緩存中的TSQL的語句的總數(shù)。

Number False Hits:有時,當(dāng)sql server在匹配在高速緩存中已經(jīng)存在的TSQL語句時會出現(xiàn)錯誤的命中。在理想的情況下,這個數(shù)字應(yīng)該盡可能地小。

9.SQL Server DBCC SQLPERF():這個命令包括了那些有文檔說明和沒有說明的選項。

 
 
 
  1. DBCC SQLPERF ( LOGSPACE )

提供有關(guān)所有數(shù)據(jù)庫中的事務(wù)日志空間使用情況的統(tǒng)計信息。具體說明可參考聯(lián)機幫助。

DBCC SQLPERF(UMSSTATS):提供有關(guān)sql server 線程管理情況的統(tǒng)計信息。

運行這個命令,結(jié)果如下:

 
 
 
  1. Statistic Value
  2. ——————————– ————————
  3. Scheduler ID 0.0
  4. num users 17.0
  5. num runnable 0.0
  6. num workers 13.0
  7. idle workers 6.0
  8. work queued 0.0
  9. cntxt switches 76752.0
  10. cntxt switches(idle) 47139.0
  11. Scheduler Switches 0.0
  12. Total Work 54056.0 

以下是一些關(guān)鍵統(tǒng)計信息的解釋:

Scheduler ID:每個CPU對應(yīng)一個調(diào)度程序,這是調(diào)度程序的序號。

Num user:目前在調(diào)度隊列中的SQL Server線程數(shù)目。

Num runnable: 目前正在運行的SQL Server線程數(shù)目。

Num Workers:線程池的大小。

Idle workers:正在空閑的workers。

Cntxt switches:在可執(zhí)行的線程之間交換上下文的數(shù)目。

DBCC SQLPERF(WAITSTATS):提供有關(guān)sql server read-ahead activity的信息。

DBCC SQLOERF(IOSTATS):提供主要的SQL server讀和寫的信息。

SQL Server DBCC SQLPERF(RASTATS):提供SQL server read-ahead 活動的信息。

DBCC SQLPERF (THREADS):提供每個sql server線程的I/O,CPU及內(nèi)存使用情況的信息。


網(wǎng)站標(biāo)題:的SQLServerDBCC命令概述
文章來源:http://www.dlmjj.cn/article/dhcjoeo.html