今天把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')