SQLSERVER DBCC命令大全

來源:互聯網
上載者:User

標籤:等於   shp   約束   片段   pos   only   遊標   ipa   表資料   

DBCC DROPCLEANBUFFERS:從緩衝池中刪除所有緩衝,清除緩衝區

在進行測試時,使用這個命令可以從SQLSERVER的資料緩衝data cache(buffer)清除所有的測試資料,以保證測試的公正性。

需要注意的是這個命令只移走乾淨的緩衝,不移走髒緩衝。由於這個原因,在執行這個命令前,應該先執行CheckPoint,將所有髒的緩衝寫入磁碟,

這樣在運行DBCC RROPCLEANBUFFERS 時,可以保證所有的資料緩衝被清理,而不是其中的一部分。

 

DBCC CacheStats:顯示存在於當前buffer Cache中的對象的資訊,例如:hit rates,編譯的對象和執行計畫

 

DBCC ErrorLog :如果很少重啟mssqlserver服務,那麼伺服器的日誌(不是資料庫交易記錄)會增長得很快,而且開啟和查看日誌的速度也會很慢

使用這個命令,可以截斷當前的伺服器日誌,主要是產生一個新的日誌。可以考慮設定一個調度任務,每周執行這個命令自動截斷伺服器日誌。

使用預存程序sp_cycle_errorlog也可以達到同樣的目的

 

一、DBCC 協助類命令

DBCC HELP(‘?‘) :查詢所有的DBCC命令  

DBCC HELP(‘命令‘) :查詢指定的DBCC命令的文法說明 

DBCC USEROPTIONS :返回當前串連的活動(設定)的SET選項

 

二、DBCC 檢查驗證類命令 

DBCC CHECKALLOC(‘資料庫名稱‘) :檢查指定資料庫的磁碟空間分配結構的一致性

DBCC CHECKCATALOG (‘資料庫名稱‘) :檢查指定資料庫的系統資料表內和系統資料表間的一致性

DBCC CHECKCONSTRAINTS (‘tablename‘) :檢查指定表上的指定約束或所有約束的完整性

DBCC CHECKDB :檢查資料庫中的所有對象的分配和結構完整性 

DBCC CHECKFILEGROUP :檢查指定檔案組中所有表在當前資料庫中的分配和結構完整性

DBCC CHECKTABLE :檢查指定表或索引檢視表的資料、索引及test、ntest和image頁的完整性

DBCC CHECKIDENT :如果存在大量資料刪除,考慮在刪除後,使用 dbcc checkident 重設一下自增值

http://social.msdn.microsoft.com/Forums/zh-CN/sqlserverzhchs/thread/8fa3e3a8-2ff2-4a68-be3e-92e76c380ef9/

檢查指定的當前標識值

DBCC SQLPERF(UMSSTATS):最關鍵的一個參考資料num runnable:表明當前有多少個線程再等待運行,如果大於等於2,考慮CPU達到瓶頸

Scheduler ID:當前機器有多少個邏輯CPU就有多少個Scheduler ID,具體怎麽看可以看一下我的這篇文章

SQLSERVER獨特的任務調度演算法"SQLOS"

 

三、DBCC 維護類命令 

DBCC CLEANTABLE (‘db_name‘,‘table_name‘) :回收Alter table drop column語句刪除可變長度列或text

DBCC DBREINDEX :重建指定資料庫的一個或多個索引 跟ALTER INDEX REBUILD差不多

DBCC INDEXDEFRAG:對錶或視圖上的索引和非叢集索引進行磁碟重組

DBCC PINTABLE (db_id,object_id) :將表資料駐留在記憶體中

查看哪些表駐留在記憶體的方法是:0:沒有駐留 ,1:駐留

1 USE [GPOSDB]2 GO3 SELECT  OBJECTPROPERTY(OBJECT_ID(‘dbo.SystemPara‘), ‘tableispinned‘) 

 

DBCC UNPINTABLE (db_id,object_id) :撤消駐留在記憶體中的表

DBCC SHRINKDATABASE(db_id,int) :收縮指定資料庫的資料檔案和記錄檔大小 

DBCC SHRINKFILE(file_name,int):收縮相關資料庫的指定資料檔案和記錄檔大小

 

 

四、DBCC 效能調節命令

DBCC dllname(FREE) :在記憶體中卸載指定的擴充過程動態連結程式庫(dll)

sp_helpextendedproc 查看載入的擴充PROC 

DBCC DROPCLEANBUFFERS :從緩衝池中刪除所有緩衝區

DBCC FREEPROCCACHE :從執行計畫緩衝區刪除所有緩衝的執行計畫

DBCC INPUTBUFFER :顯示從客戶機發送到伺服器的最後一個語句

DBCC OPENTRAN (db_name) :查詢某個資料庫執行時間最久的事務,由哪個程式擁有

DBCC SHOW_STATISTICS :顯示指定表上的指定目標的當前統計資訊分布

DBCC SHOWCONTIG :顯示指定表的資料和索引的片段資訊

DBCC SQLPERF (logspace) :查看各個DB的日誌情況

(iostats) 查看IO情況

(threads) 查看線程消耗情況

返回多種有用的統計資訊 

DBCC CACHESTATS :顯示SQL Server 2000記憶體的統計資訊

DBCC CURSORSTATS :顯示SQL Server 2000遊標的統計資訊

DBCC MEMORYSTATS :顯示SQL Server 2000記憶體是如何細分的

DBCC SQLMGRSTATS :顯示緩衝區中先讀和預讀準備的SQL語句

 

五、DBCC 未公開的命令

DBCC ERRLOG :初始化SQL Server 2000的錯誤記錄檔檔案

DBCC FLUSHPROCINDB (db_id) :清除SQL Server 2005伺服器記憶體中的某個資料庫的預存程序緩衝內容 

DBCC BUFFER (db_name,object_name,int(緩衝區個數)) :顯示緩衝區的頭部資訊和頁面資訊

DBCC DBINFO (db_name) :顯示資料庫的結構資訊 

DBCC DBTABLE :顯示管理資料的表(資料字典)資訊 

DBCC IND (db_name,table_name,index_id) :查看某個索引使用的頁面資訊 

DBCC REBUILDLOG :重建SQL Server 2000交易記錄檔

DBCC LOG (db_name,3) (-1~4) :查看某個資料庫的事物日誌資訊 顯示格式可以為:-1,0,1,2,3,4 每個數字代表不同的格式

DBCC PAGE :查看某個資料庫資料頁面資訊

DBCC PROCBUF :顯示過程緩衝池中的緩衝區頭和預存程序頭

DBCC PRTIPAGE :查看某個索引頁面的每行指向的頁面號

DBCC PSS (user,spid,1) :顯示當前串連到SQL Server 2000伺服器的進程資訊

DBCC RESOURCE :顯示伺服器當前使用的資源情況

DBCC TAB (db_id,object_id) :顯示資料頁面的結構

 

六、DBCC跟蹤標記

跟蹤標記用於臨時設定伺服器的特定特徵或關閉特定行為,常用於診斷效能問題或調試預存程序或複雜的系統

DBCC TRACEON (3604) :開啟跟蹤標記

DBCC TRACEOFF :關閉跟蹤標記

DBCC TRACESTATS :查看跟蹤標記狀態

 

 

七、官方使用DBCC的建議

1、在系統使用率較低時運行 CHECKDB。

2、請確保未同時執行其它磁碟 I/O 操作,例如磁碟備份。

3、將 tempdb 放到單獨的磁碟系統或快速磁碟子系統中。

4、允許 tempdb 在磁碟機上有足夠的擴充空間。 使用帶有 ESTIMATE ONLY 的 DBCC 估計 tempdb 將需要多少空間。

5、避免運行佔用大量 CPU 的查詢或批次工作。

6、在 DBCC 命令運行時,減少活動事務。

7、使用 NO_INFOMSGS 選項減少一些資訊的輸出。

8、考慮使用帶有 PHYSICAL_ONLY 選項的 DBCC CHECKDB 來檢查頁和記錄的物理結構。

PHYSICAL_ONLY 選項:只檢查物理錯誤,不檢查邏輯錯誤

物理錯誤比邏輯出更嚴重,因為物理錯誤一般SQLSERVER都不能修複的,而邏輯錯誤大部分SQLSERVER都可以修複

SQLSERVER DBCC命令大全

相關文章

聯繫我們

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