數(shù)據(jù)庫(kù):SQLServer中DBCC語句歸類

字號(hào):

DBCC是SQL Server提供的一組控制臺(tái)命令,功能很強(qiáng)大,掌握一些必要的語句,對(duì)操作數(shù)據(jù)庫(kù)有不少幫助,所以決定整理一下,發(fā)現(xiàn)已有不少類似的整理,減少了不少工作,歸類如下:
    一、DBCC 幫助類命令
    * DBCC HELP(’?’)
    查詢所有的DBCC命令
    * DBCC HELP(’命令’)
    查詢指定的DBCC命令的語法說明
    * DBCC USEROPTIONS
    返回當(dāng)前連接的活動(dòng)(設(shè)置)的SET選項(xiàng)
    二、DBCC 檢查驗(yàn)證類命令
    * DBCC CHECKALLOG (’數(shù)據(jù)庫(kù)名稱’)
    檢查指定數(shù)據(jù)庫(kù)的磁盤空間分配結(jié)構(gòu)的一致性
    * DBCC CHECKCATALOG (’數(shù)據(jù)庫(kù)名稱’)
    檢查指定數(shù)據(jù)庫(kù)的系統(tǒng)表內(nèi)和系統(tǒng)表間的一致性
    * DBCC CHECKCONSTAINTS (’tablename’)
    檢查指定表上的指定約束或所有約束的完整性
    * DBCC CHECKDB
    檢查數(shù)據(jù)庫(kù)中的所有對(duì)象的分配和結(jié)構(gòu)完整性
    * DBCC CHECKFILEGROUP
    檢查指定文件組中所有表在當(dāng)前數(shù)據(jù)庫(kù)中的分配和結(jié)構(gòu)完整性
    * DBCC CHECKTABLE
    檢查指定表或索引視圖的數(shù)據(jù)、索引及test、ntest和image頁(yè)的完整性
    * DBCC CHECKIDENT
    檢查指定的當(dāng)前標(biāo)識(shí)值
    * DBCC SQLPERF(UMSSTATS) undocumented in BOL
    可以用來檢查是否CPU使用達(dá)到瓶頸
    最關(guān)鍵的一個(gè)參考數(shù)據(jù)num runnable,表明當(dāng)前有多少個(gè)線程再等待運(yùn)行
    如果大于等于2,考慮CPU達(dá)到瓶頸
    三、DBCC 維護(hù)類命令
    * DBCC CLEANTABLE (’db_name’,’table_name’)
    回收Alter table drop column語句刪除可變長(zhǎng)度列或text
    * DBCC DBREINDEX
    重建指定數(shù)據(jù)庫(kù)的一個(gè)或多個(gè)索引
    * DBCC INDEXDEFRAG
    對(duì)表或視圖上的索引和非聚集索引進(jìn)行碎片整理
    * DBCC PINTABLE (db_id,object_id)
    將表數(shù)據(jù)駐留在內(nèi)存中
    查看哪些表駐留在內(nèi)存的方法是:
    select objectproperty(object_id(’tablename’),‘tableispinned’)
    * DBCC UNPINTABLE (db_id,object_id)
    撤消駐留在內(nèi)存中的表
    * DBCC SHRINKDATABASE(db_id,int)
    收縮指定數(shù)據(jù)庫(kù)的數(shù)據(jù)文件和日志文件大小
    * DBCC SHRINKFILE(file_name,int)
    收縮相關(guān)數(shù)據(jù)庫(kù)的指定數(shù)據(jù)文件和日志文件大小
    四、DBCC 性能調(diào)節(jié)命令
    * DBCC dllname(FREE)
    sp_helpextendedproc 查看加載的擴(kuò)展PROC
    在內(nèi)存中卸載指定的擴(kuò)展過程動(dòng)態(tài)鏈接庫(kù)(dll)
    * DBCC DROPCLEANBUFFERS
    從緩沖池中刪除所有緩沖區(qū)
    * DBCC FREEPROCCACHE
    從過程緩沖區(qū)刪除所有元素
    * DBCC INPUTBUFFER
    顯示從客戶機(jī)發(fā)送到服務(wù)器的最后一個(gè)語句
    * DBCC OPENTRAN (db_name)
    查詢某個(gè)數(shù)據(jù)庫(kù)執(zhí)行時(shí)間最久的事務(wù),由哪個(gè)程序擁有
    * DBCC SHOW_STATISTICS
    顯示指定表上的指定目標(biāo)的當(dāng)前分布統(tǒng)計(jì)信息
    * DBCC SHOWCONTIG
    顯示指定表的數(shù)據(jù)和索引的碎片信息
    * DBCC SQLPERF
    (logspace) 查看各個(gè)DB的日志情況
    (iostats) 查看IO情況
    (threads) 查看線程消耗情況
    返回多種有用的統(tǒng)計(jì)信息
    * DBCC CACHESTATS
    顯示SQL Server 2000內(nèi)存的統(tǒng)計(jì)信息
    * DBCC CURSORSTATS
    顯示SQL Server 2000游標(biāo)的統(tǒng)計(jì)信息
    * DBCC MEMORYSTATS
    顯示SQL Server 2000內(nèi)存是如何細(xì)分的
    * DBCC SQLMGRSTATS
    顯示緩沖中先讀和預(yù)讀準(zhǔn)備的SQL語句