今天把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 TRACEOFF
:禁用指定的跟蹤標記。
DBCC FREESYSTEMCACHE:從所有緩衝中釋放所有未使用的緩衝條目。SQL Server 2005 資料庫引擎會事先在後台清理未使用的緩衝條目,以使記憶體可用於當前條目。但是,可以使用此命令從所有緩衝中手動刪除未使用的條目。
比如;DBCC FREESYSTEMCACHE('all')