SQL Server數據庫管理員必備的DBCC命令

一、了解DBCC

DBCC(database consistenecy checker,簡稱dbcc) 是一個實用命令集,用來檢查數據庫的邏輯一致性及物理一致性。

數據庫控制台命令語句可分爲以下類別:

維護: 對數據庫、索引或文件組進行維護的任務。

雜項: 雜項任務,如啓用跟蹤標志或從內存中刪除 DLL。

信息: 收集並顯示各種類型信息的任務。

驗證: 對數據庫、表、索引、目錄、文件組或數據庫頁的分配進行的驗證操作

二、DBBCC維護語句:對數據庫、索引或文件組進行維護的任務

DBCC CLEANTABLE。回收刪除的可變長度列和文本列的空間。

DBCC CLEANTABLE

(

{ 'database_name' | database_id | 0 }

,{ 'table_name' | table_id | 'view_name' | view_id }

[ , batch_size ]

)

[ WITH NO_INFOMSGS ]

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

DBCC INDEXDEFRAG

(

{ 'database_name' | database_id | 0 }

, { 'table_name' | table_id | 'view_name' | view_id }

, { 'index_name' | index_id }

, { partition_number | 0 }

)

[ WITH NO_INFOMSGS ]

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

DBCC DBREINDEX

(

'table_name'

[ , 'index_name' [ , fillfactor ] ]

)

[ WITH NO_INFOMSGS ]

DBCC SHRINKDATABASE。 收縮指定數據庫中的數據文件大小。

DBCC SHRINKDATABASE

( 'database_name' | database_id | 0

[ ,target_percent ]

[ , { NOTRUNCATE | TRUNCATEONLY } ]

)

[ WITH NO_INFOMSGS ]

DBCC DROPCLEANBUFFERS。 從緩沖池中刪除所有清除緩沖區。DBCC DROPCLEANBUFFERS [ WITH NO_INFOMSGS ]

DBCC SHRINKFILE。 收縮相關數據庫的指定數據文件或日志文件大小。

DBCC SHRINKFILE

(

{ 'file_name' | file_id }

{ [ , EMPTYFILE ]

| [ [ , target_size ] [ , { NOTRUNCATE | TRUNCATEONLY } ] ]

}

)

[ WITH NO_INFOMSGS ]

DBCC FREEPROCCACHE。 從過程緩存中刪除所有元素。DBCC FREEPROCCACHE [ WITH NO_INFOMSGS ]

DBCC UPDATEUSAGE 報告目錄視圖中的頁數和行數錯誤並進行更正。

DBCC UPDATEUSAGE

( { 'database_name' | database_id | 0 }

[ , { 'table_name' | table_id | 'view_name' | view_id }

[ , { 'index_name' | index_id } ] ]

) [ WITH [ NO_INFOMSGS ] [ , ] [ COUNT_ROWS ]

]

三、DBBCC驗證語句:對數據庫、表、索引、目錄、文件組或數據庫頁的分配進行的驗證操作

DBCC CHECKALLOC。檢查指定數據庫的磁盤空間分配結構的一致性。

DBCC CHECKALLOC

[

(

[ 'database_name' | database_id | 0 ]

[ , NOINDEX

|

{ REPAIR_ALLOW_DATA_LOSS

| REPAIR_FAST

| REPAIR_REBUILD

} ]

)

]

[ WITH { [ ALL_ERRORMSGS ]

[ , NO_INFOMSGS ]

[ , TABLOCK ]

[ , ESTIMATEONLY ]

}

]

DBCC CHECKFILEGROUP。檢查當前數據庫中指定文件組中的所有表的分配和結構完整性。

DBCC CHECKFILEGROUP

[

(

[ { 'filegroup_name' | filegroup_id | 0 } ]

[ , NOINDEX ]

)

]

[ WITH

{

[ ALL_ERRORMSGS ]

[ NO_INFOMSGS ] ]

[ , [ TABLOCK ] ]

[ , [ ESTIMATEONLY ] ]

}

]

DBCC CHECKCATALOG。檢查指定數據庫內的目錄一致性。數據庫必須聯機。

DBCC CHECKCATALOG

[

(

'database_name' | database_id | 0

)

]

[ WITH NO_INFOMSGS ]

DBCC CHECKIDENT。 檢查指定表的當前標識值,如有必要,則更改標識值。

DBCC CHECKIDENT

(

'table_name'

[ , {

NORESEED | { RESEED [ , new_reseed_value ] }

}

]

)

[ WITH NO_INFOMSGS ]

DBCC CHECKCONSTRAINTS。 檢查當前數據庫中指定表上的指定約束或所有約束的完整性。

DBCC CHECKCONSTRAINTS

[

(

'table_name' | table_id | 'constraint_name' | constraint_id

)

]

[ WITH

{ ALL_CONSTRAINTS | ALL_ERRORMSGS } [ , NO_INFOMSGS ]

]

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

DBCC CHECKTABLE

(

'table_name' | 'view_name'

[ , NOINDEX

| index_id

| { REPAIR_ALLOW_DATA_LOSS

| REPAIR_FAST

| REPAIR_REBUILD }

]

)

[ WITH

{ [ ALL_ERRORMSGS ]

[ , [ NO_INFOMSGS ] ]

[ , [ TABLOCK ] ]

[ , [ ESTIMATEONLY ] ]

[ , [ PHYSICAL_ONLY ] ]

}

]

DBCC CHECKDB。檢查指定數據庫中所有對象的分配、結構和邏輯完整性。

DBCC CHECKDB

[

(

'database_name' | database_id | 0

[ , NOINDEX

| { REPAIR_ALLOW_DATA_LOSS

| REPAIR_FAST

| REPAIR_REBUILD

} ]

)

]

[ WITH {

[ ALL_ERRORMSGS ]

[ , [ NO_INFOMSGS ] ]

[ , [ TABLOCK ] ]

[ , [ ESTIMATEONLY ] ]

[ , [ PHYSICAL_ONLY ] ] | [ , [ DATA_PURITY ] ]

}

]

四、DBBCC的信息語句

DBCC SHOW_STATISTICS。顯示指定表上的指定目標的當前分發統計信息。

DBCC INPUTBUFFER.顯示從客戶端發送到 Microsoft SQL Server 2005 實例的最後一個語句。DBCC INPUTBUFFER ( session_id [ , request_id ] ) [WITH NO_INFOMSGS ]

DBCC SHOWCONTIG.顯示指定的表的數據和索引的碎片信息。

DBCC SHOWCONTIG

[ (

{ 'table_name' | table_id | 'view_name' | view_id }

[ , 'index_name' | index_id ]

)]

[ WITH

{

[ , [ ALL_INDEXES ] ]

[ , [ TABLERESULTS ] ]

[ , [ FAST ] ]

[ , [ ALL_LEVELS ] ]

[ NO_INFOMSGS ]

}

]

DBCC OPENTDBCC INPUTBUFFERRAN 如果在指定數據庫內存在最早的活動事務和最早的分布式和非分布式複制事務,則顯示與之有關的信息

DBCC OPENTRAN

[

( [ 'database_name' | database_id | 0 ] ) ]

{ [ WITH TABLERESULTS ]

[ , [ NO_INFOMSGS ] ]

}

]

DBCC SQLPERF.提供有關如何在所有數據庫中使用事務日志空間的統計信息。

DBCC SQLPERF ( LOGSPACE | 'sys.dm_os_latch_stats' , CLEAR | 'sys.dm_os_wait_stats' , CLEAR )

[WITH NO_INFOMSGS ]

DBCC OUTPUTBUFFER.以十六進制和 ASCII 格式返回指定 session_id 的當前輸出緩沖區。DBCC OUTPUTBUFFER ( session_id [ , request_id ] )

DBCC TRACESTATUS.顯示跟蹤標志的狀態.DBCC TRACESTATUS ( [ [ trace# [ ,...n ] ] [ , ] [ -1 ] ] )

DBCC PROCCACHE.以表格格式顯示有關過程緩存的信息。DBCC PROCCACHE [ WITH NO_INFOMSGS ]

DBCC USEROPTIONS 返回當前連接的活動(設置)的 SET 選項。DBCC USEROPTIONS

五、DBBCC的雜項語句:雜項任務,如啓用跟蹤標志或從內存中刪除 DLL

DBCC HELP。返回指定的 DBCC 命令的語法信息。DBCC HELP ( 'dbcc_statement' | @dbcc_statement_var | '?' )[ WITH NO_INFOMSGS ]

DBCC dllname (FREE)。從內存中上載指定的擴展存儲過程 DLL。DBCC dllname ( FREE ) [ WITH NO_INFOMSGS ]

DBCC DBREPAIR 。禁用指定的跟蹤標記。DBCC TRACEOFF ( trace# [ ,...n ] [ , -1 ] ) [ WITH NO_INFOMSGS ]

DBCC TRACEON。啓用指定的跟蹤標記。DBCC TRACEON ( trace# [ ,...n ][ , -1 ] ) [ WITH NO_INFOMSGS ]

六、未公開的DBCC

DBCC ERRLOG

初始化SQL錯誤日志

DBCC BUFFER

顯示緩沖區頭部和頁面信息

DBCC FLUSHPROCINDB

清楚數據庫服務器內存中的某個數據庫存儲過程的緩存內容。

DBCC DBINFO

顯示數據庫結果信息

DBCC DATABLE

顯示管理數據庫的表信息

DBC IND

查看某個索引使用的頁面信息。

DBCC REBULDLOG

重建修複SQL數據庫事物日志文件。

DBCC LOG

查看某個數據庫的事務日志信息

DBCC PAGE

查看某個數據庫數據也面信息

DBCC PROCBUF

顯示過程緩沖池的緩沖區頭和存儲過程。

DBCC PRTIPAGE

查看某個索引頁面的每行指向的頁面號。

DBCC PSS

顯示當前連接到SQLSERVER服務器的進程信息。

DBCC RESOURCE

顯示服務器當前使用的資源情況。

DBCC TAB

查看數據頁面的結構。

· 把年齡相仿的獅虎熊放一起,誰更厲害?結果出人意料

很多人都想知道獅子、老虎和熊打起來誰最厲害,于是便有好事之人把這三種動物關在一起...

· 湖北宜昌三峽壩區水面驚現神秘動物

近日,湖北宜昌,一段視頻在當地熱傳:有網友在三峽壩區拍到神秘動物,體型碩大數米長...

· 什麽是語段?語段的類型以及和句群、段落的區別與聯系是什麽?

句群是最高級的語言單位。 段落(自然段)是章法單位...

 
SQL Server數據庫管理員必備的DBCC命令
一、了解DBCC DBCC(database consistenecy checker,簡稱dbcc) 是一個實用命令集,用來檢查數據庫的邏輯一致性及物理一致性。 數據庫控制台命令語句可分爲以下類別: 維護: 對數據庫、索引或文件組進行維護的任務...查看完整版>>SQL Server數據庫管理員必備的DBCC命令
 
如何應用SQL Server DBCC避免堵塞
  在危急時刻,數據庫一致性檢測(DBCC)可能是你最重要的工具。本文向你簡單介紹DBCC的功能,它們包括:  檢測表和相關目錄的完整性。  檢測整個數據庫。  檢測數據庫頁的完整性。  重建任何指定表中的目錄...查看完整版>>如何應用SQL Server DBCC避免堵塞
 
SQL Server數據庫超級管理員賬號防護知識
提到sa弱口令,我們首先就會想到,許多數據庫都有1個類似的超級管理員賬號,比如:Oracle是"system"和"sys",Sybase也是"sa",MySQL裏有"root"(不是UNIX系統賬號的那個root)。如果沒有設置相對應的密碼或者你設的密碼...查看完整版>>SQL Server數據庫超級管理員賬號防護知識
 
用ADO管理SQL Server數據庫及其設備
用ADO管理SQL Server數據庫及其設備 來自豆豆技術網  微軟公司的SQLServer是目前小型網絡中常用的數據庫管理系統之一。面向這種網絡數據庫的應用程序也在日益增多,這種網絡數據庫應用系統的正常運行,一般都依賴于...查看完整版>>用ADO管理SQL Server數據庫及其設備
 
SQL Server 2005—數據庫管理10個最重要的特點
  1.數據庫鏡像 通過新數據庫鏡像方法,將記錄檔案傳送性能進行延伸。您將可以使用數據庫鏡像,通過將自動失效轉移建立到一個待用服務器上,增強您SQL服務器系統的可用性。  2.在線恢複 使用SQL2005版服務...查看完整版>>SQL Server 2005—數據庫管理10個最重要的特點