| 導購 | 订阅 | 在线投稿
分享
 
 
 

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

2008-08-19 06:50:55  編輯來源:互聯網  简体版  手機版  評論  字體: ||
 
  一、了解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 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 查看數據頁面的結構。
󰈣󰈤
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
  免責聲明:本文僅代表作者個人觀點,與王朝網絡無關。王朝網絡登載此文出於傳遞更多信息之目的,並不意味著贊同其觀點或證實其描述,其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,並請自行核實相關內容。
 
© 2005- 王朝網路 版權所有