SQL SERVER DBCC命令解釋
八點鐘起床一直搞到現在好多還不太記得先放上來以後慢慢修改
dbcc trraceon DBCC TRACEOFF
對於數據庫死鎖通常可以通過TRACE FLAG 檢查ERRORLOG裡面的輸出和分析SQLTRACE的執行上下文判斷死鎖問題的來由
TRACEON函數的第三個參數設置為表示不單單針對當前connection
而是針對所有包括未來建立的connection這樣才夠完全否則只是監視當前已經建立的數據庫連接了
執行下面的話可以把死鎖記錄到Errorlog中
dbcc traceon ( )
go
dbcc tracestatus()
go
說明
打印關於擴展存儲過程動態鏈接庫的版本信息
停止autoparameterization
輸出鎖信息
傳回參與死鎖的SQL SERVER相關程序之運行數據
停止lock escalation(鎖升級)
顯示動態選擇鎖的相關信息
通過 DBCC CHECKDBDBCC CHECKFILEGROUP 和 DBCC CHECKTABLE 禁用對象的並行檢查
默認情況下並行度由查詢處理器自動確定最大並行度的配置方式與並行查詢相同
有關更多信息請參見 max degree of parallelism 選項
通常情況下應將並行 DBCC 保留為啟用狀態執行 DBCC CHECKDB 時
查詢處理器重新評估和自動調整並行度並檢查每個表或一批表
有時檢查可能在服務器處於實際空閒狀態時進行如果管理員知道在檢查結束前負荷將加大
可能希望手工減小或禁用並行度
但是禁用並行檢查會導致數據庫的總體性能降低降低並行度將增加必須掃描的事務日志量
這反過來增加了對 tempdb 空間的需求並導致 dbcc 完成檢查所需的時間非線性增加
如果運行 DBCC 時啟用了 TABLOCK 功能並關閉了並行度則表可能被鎖定更長時間
默認情況下如果磁帶驅動器支持硬件壓縮則 DUMP 或 BACKUP 語句會使用該功能
利用此跟蹤標記可以禁用磁帶驅動程序的硬件壓縮
本項在要與不支持壓縮的其它站點或磁帶驅動器交換磁帶時有用
將trace結果輸出到前端
要求DBCC的輸出放到SQL server ERROR LOG
停止索引提示功能
停止join group等最優化提示功能
停止鎖提示功能
停止最優化超時配置強制做完整的最優化動作
DBCC page
dbcc traceon()
dbcc page(northwind)
/*查詢northwind 的數據的第個頁面的信息*/
/*DBCC Page ({dbid|dbname}filenumpagenum[printopt])
?
具體參數描述如下
dbid: 包含頁面的數據庫ID
dbname:包含頁面的數據庫的名稱
filenum:包含頁面的文件編號
pagenum:文件內的頁面
printopt:可選的輸出選項;選用其中一個值
:默認值輸出緩沖區的標題和頁面標題
:輸出緩沖區的標題頁面標題(分別輸出每一行)以及行偏移量表
:輸出緩沖區的標題頁面標題(整體輸出頁面)以及行偏移量表
:輸出緩沖區的標題頁面標題(分別輸出每一行)以及行偏移量表;每一行後跟分別列出的它的列值
*/
DBCC checkalloc
DBCC checkalloc(northwind)
/*檢查指定數據庫的系統表內和表間的一致性
checkalloc是檢查指定數據庫看其所有正確分配的頁和尚未分配的頁的情況
若未指定數據庫名則checkalloc檢查當前數據庫checkalloc會返回已分配的和使用的空間數量
checkalloc的缺省模式為nofix要使用fix選項必須把數據庫置於單用戶模式
*/
DBCC checkcatalog
DBCC checkcatalog(northwind)
/*
檢查批定數據庫的系統表內和系統表間的一致性
*/
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的組合
*/
DBCC checkdb
DBCC checkdb
/*
檢查數據庫中的所有對象的分配和結構完整性
checkdb [(database_name[ NOINDEX | REPAIR])]
[WITH NO_INFOMSGS[ ALL_ERRORMSGS][ PHYSICAL_ONLY]
[ ESTIMATEONLY][ TABLOCK]]
*/
DBCC cleantable
DBCC cleantable
/*
回收alter table drop column語句 刪除可變長度列或text列後的存儲空間
cleantable (database_name|database_id table_name|table_id [batch_size])
*/
DBCC dbreindex
DBCC dbreindex
/*
重建指定數據庫的一個或多個索引
dbreindex (table_name [ index_name [ fillfactor ]]) [WITH NO_INFOMSGS]
*/
DBCC indexdefrag
DBCC indexdefrag
/*
對表或視圖上的索引和非聚集索引進行碎片整理
indexdefrag ({dbid | dbname | } {tableid | tablename} {indid | indname})
*/
DBCC pintable/DBCC unpintable
將表數據駐留在內存中或撤銷駐留 在內存中的數據
pintable (database_id table_id)
DBCC shrinkdatabase
收縮指定數據庫的數據文件和日志文件大小
shrinkdatabase ({dbid | dbname} [freespace_percentage [ {NOTRUNCATE | TRUNCATEONLY}]])
DBCC shrinkfile
收縮相關數據庫的指定數據文件和日志文件大小
shrinkfile ({fileid | filename} [compress_size [ {NOTRUNCATE | TRUNCATEONLY | EMPTYFILE}]])
DBCC dllname(free)
在內存中制裁指定的擴展想念過程動態鏈接庫(DLL)
sp_helpextended proc
查詢當前內存中的擴展存儲過程動態鏈接庫
DBCC dropcleanbuffers
從緩沖池中刪除所有緩沖區
/*
使用 DBCC DROPCLEANBUFFERS 測試帶有冷高速緩存的查詢而不用關閉和重新啟動服務器
*/
DBCC freeproccache
從過程緩沖區刪除所有元素
清理所有數據庫的過程高速緩存
DBCC inputButter
顯示從客戶機發送到服務器的最後一個語句
DBCC opentran
查詢某個數據庫執行時間最久的事務由哪個程序擁有
DBCC show_statistics
顯示指定表上的指定目前的當前分布統計信息
DBCC showcontig
顯示指定表的數據和索引的碎片信息
DBCC sqlperf
可用參數logspaceiostatsthreads
返回多種有用的統計信息
dbcc sqlperf(logspace)
Database Name Log Size (MB) Log Space Used (%) Status
master
tempdb
model
msdb
pubs
Northwind
dbcdr
fcdb
fcdb_
test
kldb
dbcc sqlperf(iostats)
Statistic Value
Reads Outstanding
Writes Outstanding
dbcc sqlperf(threads)
Spid Thread ID Status LoginName IO CPU MemUsage
NULL background NULL
NULL background NULL
NULL sleeping NULL
NULL background NULL
background sa
NULL sleeping NULL
background sa
background sa
background sa
background sa
background sa
background sa
sleeping RDAdm
sleeping RDAdm
runnable RDAdm
DBCC cachestats
顯示SQL SERVER內存的統計信息
DBCC cursorstats
顯示SQL SERVER游標的統計信息
DBCC sqlmgrstats
顯示緩沖中先讀和預先准備的SQL語句
DBCC errlog
初始化SQL SERVER錯誤日志文件
DBCC flushprocindb
清除SQL SERVER服務器內存中某個數據庫的存儲過程緩存內容
DBCC Buffer
顯示緩沖區的善信息和頁面信息
DBCC DBinfo
顯示數據庫結構信息
DBCC DBtable
顯示管理數據的表信息
DBCC IND
查看某個索引使用的頁面信息
DBCC REbuild_log
重建SQL SERVER事務日志文件
DBCC log
查看某個數據庫使用的事務日志信息
DBCC procbuf
顯示過程緩沖池中的緩沖區頭和存儲過程頭
DBCC prtipage
查看某個索引頁面的每行指向的頁面號
DBCC pss
顯示當前連接到SQL SERVER的進程信息
DBCC resource
顯示服務器當前使用的資源情況
DBCC tab
查看數據頁面的結構
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22263.html