標籤: 暫無標籤

1 DBCC -簡介

  Transact-SQL 編程語言提供 DBCC 語句作為 Microsoft® SQL Server™ 2000 的資料庫控制台命令。這些語句對資料庫的物理和邏輯一致性進行檢查。許多 DBCC 語句能夠對檢測到的問題進行修復。

2 DBCC -分類

  資料庫控制台命令語句被分為以下類別。
  語句分類 執行
  維護語句 對資料庫、索引或文件組進行維護的任務。
  雜項語句 諸如啟用行級鎖定或從內存中刪除動態鏈接庫 (DLL) 等雜項任務。
  狀態語句 狀態檢查。
  驗證語句 對資料庫、表、索引、目錄、文件組、系統表或資料庫頁的分配進行的驗證操作。
  SQL Server 2000 的 DBCC 語句使用輸入參數和返回值。所有 DBCC 語句參數都可以接受 Unicode 和 dbcs 字面值。
  使用 DBCC 結果集輸出
  許多 DBCC 命令可以產生表格格式的輸出(使用 WITH TABLERESULTS 選項)。該信息可裝載到表中以便將來使用。以下顯示一個示例腳本:
  -- Create the table to accept the results
  CREATE TABLE #tracestatus (
  TraceFlag INT,
  Status INT
  )
  -- Execute the command, putting the results in the table
  INSERT INTO #tracestatus
  EXEC ('DBCC TRACESTATUS (-1) WITH NO_INFOMSGS')
  -- Display the results
  SELECT *
  FROM #tracestatus
  GO維護語句

  DBCC CLEANTABLE ('db_name','table_name') -----回收Alter table drop column語句刪除可變長度列或text
  DBCC DBREINDEX -----重建指定資料庫的一個或多個索引
  DBCC INDEXDEFRAG ------對錶或視圖上的索引和非聚集索引進行碎片整理
  DBCC pintable (db_id,object_id) ------將表數據駐留在內存中
  查看哪些表駐留在內存的方法是:
  select objectproperty(object_id('tablename'),『tableispinned')
  DBCC UNPINTABLE (db_id,object_id) -----撤消駐留在內存中的表
  DBCC SHRINKDATABASE(db_id,int) -----收縮指定資料庫的數據文件和日誌文件大小
  DBCC SHRINKFILE(file_name,int) -----收縮相關資料庫的指定數據文件和日誌文件大小 雜項語句

  DBCC dllname (FREE) ----查看載入的擴展PROC在內存中卸載指定的擴展過程動態鏈接庫(dll)
  DBCC HELP ---查詢所有DBCC命令
  DBCC PINTABLE ---將表數據駐留在內存中
  DBCC rowlock
  DBCC TRACEOFF ----關閉跟蹤標記
  DBCC TRACEON ----打開跟蹤標記
  DBCC UNPINTABLE ---撤消駐留在內存中的表 狀態語句

  DBCC PINTABLE ---將表數據駐留在內存中
  DBCC OPENTRAN ----查詢某個資料庫執行時間最久的事務,由哪個程序擁有
  DBCC OUTPUTBUFFER
  DBCC FREEPROCCACHE ----從過程緩衝區刪除所有元素
  DBCC SHOWCONTIG ---顯示指定表的數據和索引的碎片信息
  DBCC SHOW_STATISTICS ----顯示指定表上的指定目標的當前分佈統計信息
  DBCC SQLPERF ---可以用來檢查是否CPU使用達到瓶頸最關鍵的一個參考數據num runnable,表明當前有多少個線程再等待運行如果大於等於2,考慮CPU達到瓶頸
  DBCC TRACESTATUS ---跟蹤標記狀態
  DBCC USEROPTIONS ---返回當前連接的活動(設置)的SET選項 驗證語句

  DBCC CHECKALLOC ----檢查指定資料庫的磁碟空間分配結構的一致性
  DBCC CHECKCATALOG ----檢查指定資料庫的系統表內和系統表間的一致性
  DBCC CHECKCONSTRAINTS ----檢查指定表上的指定約束或所有約束的完整性
  DBCC CHECKDB ----檢查資料庫中的所有對象的分配和結構完整性
  DBCC CHECKFILEGROUP ----檢查指定文件組中所有表在當前資料庫中的分配和結構完整性
  DBCC CHECKIDENT ----檢查指定的當前標識值
  DBCC CHECKTABLE ----檢查指定表或索引視圖的數據、索引及test、ntest和image頁的完整性
  DBCC NEWALLOC

3 DBCC -使用建議

  1、在系統使用率較低時運行 CHECKDB。
  2、請確保未同時執行其它磁碟 I/O 操作,例如磁碟備份。
  3、將 tempdb 放到單獨的磁碟系統或快速磁碟子系統中。
  4、允許 tempdb 在驅動器上有足夠的擴展空間。 使用帶有 ESTIMATE ONLY 的 DBCC
  估計 tempdb 將需要多少空間。
  5、避免運行佔用大量 CPU 的查詢或批處理作業。
  6、在 DBCC 命令運行時,減少活動事務。
  7、使用 NO_INFOMSGS 選項顯著減少處理和 tempdb 的使用。
  8、考慮使用帶有 PHYSICAL_ONLY 選項的 DBCC CHECKDB 來檢查頁和記錄首部
  的物理結構。當硬體導致的錯誤被置疑時,這個操作將執行快速檢查。
上一篇[邏輯備份]    下一篇 [bigint]

相關評論

同義詞:暫無同義詞