常用DBCC學習

tolywang發表於2009-07-07

 


常用DBCC:
 1.DBCC SHOWCONTIG:
   DBCC SHOWCONTIG 正在掃描 'table1' 表...
   表: 'table1' (981578535);索引 ID: 1,資料庫 ID: 12
      已執行 TABLE 級別的掃描。
      - 掃描頁數................................: 47456
      - 掃描區數..............................: 5932
      - 區切換次數..............................: 5931
      - 每個區的平均頁數........................: 8.0
      - 掃描密度 [最佳計數:實際計數].......: 100.00% [5932:5932]
      - 邏輯掃描碎片 ..................: 0.04%
      - 區掃描碎片 ..................: 0.24%
      - 每頁的平均可用位元組數........................: 190.9
      - 平均頁密度(滿).....................: 97.64%
  

  2.DBCC   DBREINDEX
         (
                PAV_MaterialPrice,
                IX_SubmitListID
         )


 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

 

檢視資料頁面的結構。

 

 
文章出自:

DBCC詳細使用可參考:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-608520/,如需轉載,請註明出處,否則將追究法律責任。

相關文章