程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL SERVER DBCC命令解釋

SQL SERVER DBCC命令解釋

編輯:關於SqlServer

       SQL SERVER DBCC命令解釋

      八點鐘起床一直搞到現在,好多還不太記得,先放上來以後慢慢修改

      --1 dbcc trraceon DBCC TRACEOFF

      --對於數據庫死鎖,通常可以通過TRACE FLAG 1204、1205、1206,檢查ERRORLOG裡面的輸出,和分析SQLTRACE的執行上下文判斷死鎖問題的來由。

      --TRACEON函數的第三個參數設置為-1,表示不單單針對當前connection,

      --而是針對所有包括未來建立的connection。這樣,才夠完全,否則只是監視當前已經建立的數據庫連接了。

      --執行下面的話可以把死鎖記錄到Errorlog中:

      dbcc traceon (1204, 3605, -1)

      go

      dbcc tracestatus(-1)

      go

      --說明:

      --260:打印關於擴展存儲過程動態鏈接庫的版本信息

      --444:停止auto-parameterization

      --1200:輸出鎖信息

      --1204:傳回參與死鎖的SQL SERVER相關程序之運行數據

      --1211:停止lock escalation(鎖升級)

      --1252:顯示動態選擇鎖的相關信息

      --2528:通過 DBCC CHECKDB、DBCC CHECKFILEGROUP 和 DBCC CHECKTABLE 禁用對象的並行檢查。

      --默認情況下,並行度由查詢處理器自動確定。最大並行度的配置方式與並行查詢相同。

      --有關更多信息,請參見 max degree of parallelism 選項。

      -- 通常情況下,應將並行 DBCC 保留為啟用狀態。執行 DBCC CHECKDB 時,

      -- 查詢處理器重新評估和自動調整並行度,並檢查每個表或一批表。

      --有時,檢查可能在服務器處於實際空閒狀態時進行。如果管理員知道在檢查結束前負荷將加大,

      --可能希望手工減小或禁用並行度。

      -- 但是,禁用並行檢查會導致數據庫的總體性能降低。降低並行度將增加必須掃描的事務日志量。

      --這反過來增加了對 tempdb 空間的需求,並導致 dbcc 完成檢查所需的時間非線性增加。

      --如果運行 DBCC 時啟用了 TABLOCK 功能並關閉了並行度,則表可能被鎖定更長時間。

      --3205:默認情況下,如果磁帶驅動器支持硬件壓縮,則 DUMP 或 BACKUP 語句會使用該功能。

      -- 利用此跟蹤標記,可以禁用磁帶驅動程序的硬件壓縮。

      -- 本項在要與不支持壓縮的其它站點或磁帶驅動器交換磁帶時有用。

      --3604:將trace結果輸出到前端

      --3605:要求DBCC的輸出放到SQL server ERROR LOG

      --8602:停止索引提示功能

      --8722:停止join group等最優化提示功能

      --8755:停止鎖提示功能

      --8780:停止最優化超時配置,強制做完整的最優化動作

      --2 DBCC page

      dbcc traceon(3604)

      dbcc page(northwind,1,100,1)

      /*查詢northwind 的數據的第101個頁面的信息*/

      /*DBCC Page ({dbid|dbname},filenum,pagenum[,printopt])

      ?

      具體參數描述如下:

      dbid: 包含頁面的數據庫ID

      dbname:包含頁面的數據庫的名稱

      filenum:包含頁面的文件編號

      pagenum:文件內的頁面

      printopt:可選的輸出選項;選用其中一個值:

      0:默認值,輸出緩沖區的標題和頁面標題

      1:輸出緩沖區的標題、頁面標題(分別輸出每一行),以及行偏移量表

      2:輸出緩沖區的標題、頁面標題(整體輸出頁面),以及行偏移量表

      3:輸出緩沖區的標題、頁面標題(分別輸出每一行),以及行偏移量表;每一行後跟分別列出的它的列值

      */

      --3 DBCC checkalloc

      DBCC checkalloc(northwind)

      /*檢查指定數據庫的系統表內和表間的一致性

      checkalloc是檢查指定數據庫,看其所有正確分配的頁和尚未分配的頁的情況。

      若未指定數據庫名,則checkalloc檢查當前數據庫。checkalloc會返回已分配的和使用的空間數量。

      checkalloc的缺省模式為nofix,要使用fix選項,必須把數據庫置於單用戶模式。

      */

      --4 DBCC checkcatalog

      DBCC checkcatalog(northwind)

      /*

      檢查批定數據庫的系統表內和系統表間的一致性

      */

      --5 DBCC checkconstraints

      DBCC checkconstraints(products)

      /*

      檢查指定表上的指定約束或所有約束的完整性

      DBCC CHECKCONSTRAINTS

      [('table_name'|'constraint_name'

      )]

      [WITH {ALL_ERRORMSGS|ALL_CONSTRAINTS}]

      DBCC CHECKCONSTRAINTS在某個數據庫中,檢測某些特定的約束或者全部約束的一致性。

      DBCC CHECKCONSTRAINTS總是在當前數據庫的上下文環境中執行。

      注意,DBCC CHECKCONSTRAINTS並不進行磁盤或者文件級別的一致性檢測;

      它只是確保外鍵定義的一致性,同時檢測約束——僅僅是確認數據有效。

      如果你希望檢測磁盤上表和索引的一致性,

      你應該執行DBCC CHECKDB或者在所有的表上執行DBCC CHECKALLOC和 DBCC CHECKTABLE的組合。

      */

      --6 DBCC checkdb

      DBCC checkdb

      /*

      檢查數據庫中的所有對象的分配和結構完整性

      checkdb [('database_name'[, NOINDEX | REPAIR])]

      [WITH NO_INFOMSGS[, ALL_ERRORMSGS][, PHYSICAL_ONLY]

      [, ESTIMATEONLY][, TABLOCK]]

      */

      --7 DBCC cleantable

      DBCC cleantable

      /*

      回收alter table drop column語句 刪除可變長度列或text列後的存儲空間

      cleantable ('database_name'|database_id, 'table_name'|table_id, [batch_size])

      */

      --8 DBCC dbreindex

      DBCC dbreindex

      /*

      重建指定數據庫的一個或多個索引

      dbreindex ('table_name' [, index_name [, fillfactor ]]) [WITH NO_INFOMSGS]

      */

      --9 DBCC indexdefrag

      DBCC indexdefrag

      /*

      對表或視圖上的索引和非聚集索引進行碎片整理

      indexdefrag ({dbid | dbname | 0}, {tableid | tablename}, {indid | indname})

      */

      --10 DBCC pintable/DBCC unpintable

      --將表數據駐留在內存中或撤銷駐留 在內存中的數據

      --pintable (database_id, table_id)

      --11 DBCC shrinkdatabase

      --收縮指定數據庫的數據文件和日志文件大小

      --shrinkdatabase ({dbid | 'dbname'}, [freespace_percentage [, {NOTRUNCATE | TRUNCATEONLY}]])

      --12 DBCC shrinkfile

      --收縮相關數據庫的指定數據文件和日志文件大小

      --shrinkfile ({fileid | 'filename'}, [compress_size [, {NOTRUNCATE | TRUNCATEONLY | EMPTYFILE}]])

      --

      --13 DBCC dllname(free)

      --在內存中制裁指定的擴展想念過程動態鏈接庫(DLL)

      sp_helpextended proc

      --查詢當前內存中的擴展存儲過程動態鏈接庫

      ---

      --14 DBCC dropcleanbuffers

      --從緩沖池中刪除所有緩沖區

      /*

     

      使用 DBCC DROPCLEANBUFFERS 測試帶有冷高速緩存的查詢,而不用關閉和重新啟動服務器

      */

      -----

      --15 DBCC freeproccache

      --從過程緩沖區刪除所有元素

      --清理所有數據庫的過程高速緩存

      -------

      --16 DBCC inputButter

      --顯示從客戶機發送到服務器的最後一個語句

      ---

      --17 DBCC opentran

      --查詢某個數據庫執行時間最久的事務,由哪個程序擁有

      ------

      --18 DBCC show_statistics

      --顯示指定表上的指定目前的當前分布統計信息

      --------

      --19 DBCC showcontig

      --顯示指定表的數據和索引的碎片信息

      -------

      --20 DBCC sqlperf

      --可用參數logspace,iostats,threads

      --返回多種有用的統計信息

      ---dbcc sqlperf(logspace)

      Database Name Log Size (MB) Log Space Used (%) Status

      ------------ ------------------------ ------------------------ -----------

      master 5.0546875 27.93663 0

      tempdb 0.7421875 58.88158 0

      model 0.4921875 74.206352 0

      msdb 2.2421875 38.414635 0

      pubs 0.7421875 43.947369 0

      Northwind 0.9921875 41.732285 0

      db40cdr 32.304688 6.3618503 0

      fcdb 218.30469 79.981796 0

      fcdb_20070826 19.992188 3.0138726 0

      test 176.92969 6.4423542 0

      kldb 0.9921875 33.267715 0

      --dbcc sqlperf(iostats)

      Statistic Value

      -------------------------------- ------------------------

      Reads Outstanding 0.0

      Writes Outstanding 0.0

      --dbcc sqlperf(threads)

      Spid Thread ID Status LoginName IO CPU MemUsage

      ------ ----------- ---------- ---------- ---------------------- ----------- -----------

      1 NULL background NULL 0 0 0

      2 NULL background NULL 0 0 5

      3 NULL sleeping NULL 0 0 0

      4 NULL background NULL 0 0 -6

      5 0 background sa 41 0 3

      6 NULL sleeping NULL 1 0 0

      7 0 background sa 0 0 3

      8 0 background sa 0 0 3

      9 0 background sa 0 0 3

      10 0 background sa 0 0 3

      11 0 background sa 0 0 3

      12 0 background sa 0 0 3

      51 0 sleeping RD-001Adm 19 32 29

      52 0 sleeping RD-001Adm 6 515 15

      53 3828 runnable RD-001Adm 1 15 5

      --------

      --21 DBCC cachestats

      --顯示SQL SERVER內存的統計信息

      -------

      --22 DBCC cursorstats

      --顯示SQL SERVER游標的統計信息

      --------

      --23 DBCC sqlmgrstats

      --顯示緩沖中先讀和預先准備的SQL語句

      --

      --24 DBCC errlog

      --初始化SQL SERVER錯誤日志文件

      --25 DBCC flushprocindb

      --清除SQL SERVER服務器內存中某個數據庫的存儲過程緩存內容

      --26 DBCC Buffer

      --顯示緩沖區的善信息和頁面信息

      --------------------------------------------------------

      --27 DBCC DBinfo

      --顯示數據庫結構信息

      --

      --28 DBCC DBtable

      --顯示管理數據的表信息

      -

      --29 DBCC IND

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

      ---

      --30 DBCC REbuild_log

      --重建SQL SERVER事務日志文件

      --

      --31 DBCC log

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

      -

      --32 DBCC procbuf

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

      --

      --33 DBCC prtipage

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

      --

      --34 DBCC pss

      --顯示當前連接到SQL SERVER的進程信息

      -

      --35 DBCC resource

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

      --

      --36 DBCC tab

      --查看數據頁面的結構

     

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved