天天看點

DBCC指令

今天把DBCC指令都一一使用了一下,做了筆記,防止忘記.  在調用指令時使用了一些參數,其中'taobaoitem_0003'是表名,'ix_taobaoitem_0003'是索引,'taobao'是資料庫名稱,'taobao3'是資料庫檔案.

Transact-SQL 程式設計語言提供 DBCC 語句作為 SQL Server 的資料庫控制台指令。

資料庫控制台指令語句可分為以下類别。

指令類别 執行
維護 對資料庫、索引或檔案組進行維護的任務。
雜項 雜項任務,如啟用跟蹤标志或從記憶體中删除 DLL。
資訊 收集并顯示各種類型資訊的任務。
驗證 對資料庫、表、索引、目錄、檔案組或資料庫頁的配置設定進行的驗證操作。

DBCC 指令使用輸入參數并傳回值。所有 DBCC 指令參數都可以接受 Unicode 和 DBCS 文字。

資訊語句

DBCC INPUTBUFFER:顯示從用戶端發送到 Microsoft SQL Server 2005 執行個體的最後一個語句。

格式:DBCC INPUTBUFFER ( session_id [ , request_id ] )[WITH NO_INFOMSGS ]      

DBCC OUTPUTBUFFER:以十六進制和 ASCII 格式傳回指定 session_id 的目前輸出緩沖區。

格式:DBCC OUTPUTBUFFER ( session_id [ , request_id ] )[ WITH NO_INFOMSGS ]      

DBCC SHOWCONTIG :顯示指定的表或視圖的資料和索引的碎片資訊。

比如:dbcc showcontig ('taobaoitem_0003')

DBCC OPENTRAN:如果在指定資料庫記憶體在最早的活動事務和最早的分布式和非分布式複制事務,則顯示與之有關的資訊。

DBCC SQLPERF:為所有資料庫提供事務日志空間用法的統計資訊。也可以用于重置等待和闩鎖的統計資訊。

格式:DBCC SQLPERF ([ LOGSPACE ]| [ "sys.dm_os_latch_stats" , CLEAR ] | [ "sys.dm_os_wait_stats" , CLEAR ]) [WITH NO_INFOMSGS ]

比如:dbcc SQLPERF (LOGSPACE )

dbcc SQLPERF ("sys.dm_os_wait_stats" , CLEAR )

DBCC TRACESTATUS:顯示跟蹤标志的狀态

DBCC PROCCACHE:以表格格式顯示有關過程緩存的資訊。

DBCC USEROPTIONS:傳回目前連接配接的活動(設定)的 SET 選項。

DBCC SHOW_STATISTICS:顯示指定表上的指定目标的目前分發統計資訊。

比如:dbcc show_STATISTICS('taobaoitem_0003','ix_taobaoitem_0003')

 驗證語句

DBCC CHECKALLOC:檢查指定資料庫的磁盤空間配置設定結構的一緻性。

比如;DBCC CHECKALLOC ('taobao')

DBCC CHECKFILEGROUP:檢查目前資料庫中指定檔案組中的所有表和索引視圖的配置設定和結構完整性。

比如:DBCC CHECKFILEGROUP ('taobao3')

DBCC CHECKCATALOG:檢查指定資料庫内的目錄一緻性。

比如:DBCC CHECKCATALOG ('taobao')

DBCC CHECKIDENT:檢查指定表的目前辨別值,如有必要,則更改辨別值。

比如:DBCC CHECKIDENT ('taobaoitem_0003')

DBCC CHECKCONSTRAINTS:檢查目前資料庫中指定表上的指定限制或所有限制的完整性。

DBCC CHECKTABLE:檢查組成表或索引視圖的所有頁和結構的完整性。

DBCC CHECKDB:通過執行下列操作檢查指定資料庫中所有對象的邏輯和實體完整性:

  • 對資料庫運作 DBCC CHECKALLOC。
  • 對資料庫中的每個表和視圖運作 DBCC CHECKTABLE。
  • 對資料庫運作 DBCC CHECKCATALOG。
  • 驗證資料庫中每個索引視圖的内容。
  • 驗證資料庫中的 Service Broker 資料。

 維護語句

DBCC CLEANTABLE:回收表或索引視圖中已删除的可變長度列的空間。

比如:DBCC cleantable ('taobao','taobaoitem_0003')

DBCC INDEXDEFRAG:指定表或視圖的索引碎片整理。

比如:DBCC INDEXDEFRAG ('taobao','taobaoitem_0003')

Pages Scanned Pages Moved Pages Removed      
------------- ----------- -------------      
359           346         8      
(1 row(s) affected)      

DBCC DBREINDEX :對指定資料庫中的表重新生成一個或多個索引。

比如:DBCC DBREINDEX ( 'taobaoitem_0003','ix_taobaoitem_0003')

DBCC SHRINKDATABASE :收縮指定資料庫中的資料檔案和日志檔案的大小。

比如:DBCC SHRINKDATABASE ('taobao')

DBCC SHRINKFILE (Transact-SQL):收縮目前資料庫的指定資料或日志檔案的大小

比如:DBCC SHRINKFILE ('TaoBao3')

DBCC FREEPROCCACHE:從過程緩存中删除所有元素。

DBCC UPDATEUSAGE:報告目錄視圖中的頁數和行數錯誤并進行更正。這些錯誤可能導緻 sp_spaceused 系統存儲過程傳回不正确的空間使用報告。

 雜項語句

DBCC dllname (FREE):從記憶體中上載指定的擴充存儲過程 DLL。

DBCC HELP:傳回指定的 DBCC 指令的文法資訊。

比如:DBCC   HELP ('checkdb')

DBCC FREESESSIONCACHE:重新整理針對 Microsoft SQL Server 執行個體執行的分布式查詢所使用的分布式查詢連接配接緩存。

DBCC TRACEON :啟用指定的跟蹤标記。

格式:DBCC TRACEON ( trace# [ ,...n ][ , -1 ] ) [ WITH NO_INFOMSGS ]

上一篇: DBCC詳解
下一篇: DBCC INPUTBUFFER