KB2634571-DBCC CHECKDB 命令的改良功能,在您使用 PHYSICAL_ONLY 選項時,可能會導致效能變得更快

Microsoft 發佈 Microsoft SQL Server 2008 R2、SQL Server 2008 R2 SP1,以及 SQL Server 2008 修正為一個可下載的檔案。 因為修正程式是累加的,所以每個新版本都包含舊版 SQL Server 2008 R2、SQL Server 2008 R2 SP1 及 SQL Server 2008 修正版本中所包含的所有熱修復程式及所有安全性修正程式。

簡介

DBCC CHECKDB命令會平衡效能與資源之間的需求。 因此,根據預設, DBCC CHECKDB 命令可能無法在執行資料庫一致性檢查時最大化資源使用量。 例如, DBCC CHECKDB 命令可能無法在執行資料庫一致性檢查時最大化磁片輸入/輸出使用量。

解決方案

累積更新資訊

SQL Server 2008 Service Pack 2

此問題的修正程式是在 SQL Server 2008 的累積更新9(Service Pack 2)中首次發行。 如需此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

2673382 SQL Server 2008 Service Pack 2 的累積更新套件9

記事 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請參閱 Microsoft 知識庫中的下列文章:

2402659 在發行 SQL Server 2008 Service Pack 2 之後發行的 SQL Server 2008 組建

Microsoft SQL Server 2008 修復程式是針對特定的 SQL Server service pack 建立的。 您必須將 SQL Server 2008 Service Pack 2 修補程式套用至 SQL Server 2008 Service Pack 2 的安裝。 根據預設,SQL Server service pack 中提供的任何熱修復程式都包含在下一個 SQL Server service pack 中。

SQL Server 2008 Service Pack 3

此問題的修正程式是以 SQL Server 2008 的累積更新4(Service Pack 3)第一次發行。 如需有關此累積更新套件的詳細資訊,請參閱 Microsoft 知識庫中的下列文章:

2673383 SQL Server 2008 的累積更新套件 4 Service Pack 3

注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 修正版本中所包含的所有修復程式及所有安全性修正程式。 Microsoft 建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請參閱 Microsoft 知識庫中的下列文章:

2629969 在發行 SQL Server 2008 Service Pack 3 之後發行的 SQL Server 2008 組建

Microsoft SQL Server 2008 修復程式是針對特定的 SQL Server service pack 建立的。 您必須將 SQL Server 2008 Service Pack 3 修復程式套用至 SQL Server 2008 Service Pack 3 的安裝。 根據預設,SQL Server service pack 中提供的任何熱修復程式都包含在下一個 SQL Server service pack 中。

SQL Server 2008 R2 的累積更新套件11

此問題的修正程式是在累積更新11中第一次發行。 如需有關如何取得 SQL Server 2008 R2 累積更新套件的詳細資訊,請參閱 Microsoft 知識庫中的下列文章:

2633145 SQL Server 2008 R2 的累積更新套件11

注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請參閱 Microsoft 知識庫中的下列文章:

981356 在發行 SQL Server 2008 R2 之後發行的 SQL Server 2008 R2 組建

SQL Server 2008 R2 SP1 的累積更新套件4

此問題的修正程式是以累積更新4第一次發行。 如需有關如何取得 SQL Server 2008 R2 SP1 累積更新套件的詳細資訊,請參閱 Microsoft 知識庫中的下列文章:

2633146 SQL Server 2008 R2 SP1 的累積更新套件4

記事 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 SP1 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請參閱 Microsoft 知識庫中的下列文章:

2567616 在發行 SQL Server 2008 R2 SP1 之後發行的 SQL Server 2008 R2 組建

SQL Server 2012

SQL Server 2012 包含這些修正程式的程式碼變更。 追蹤旗標2562和2549(如下所述)也適用于 SQL Server 2012。 不過,在 SQL Server 2012 中,修正以減少 DBCC_MULTIOBJECT_SCANNER 閂鎖上的爭用不需要追蹤標誌2562。 這些變更預設會包含在 SQL Server 2012 中。

其他相關資訊

這個累積更新引進了兩個追蹤旗標,可讓使用者執行 DBCC CHECKDB命令時獲得最佳的磁片 i/o 資源使用量。 雖然這些改良只針對PHYSICAL_ONLY  選項,但它們也可以改善不使用PHYSICAL_ONLY選項的DBCC CHECKDB命令的整體效能。 追蹤旗標2562 此追蹤標誌包含下列變更:

  • 在單一 "批次" 中執行 DBCC CHECKDB 命令,不論資料庫中的索引數量為何。 根據預設, DBCC CHECKDB 命令會透過使用 "批次" 概念限制所產生的索引數或 "事實",來嘗試將 tempdb資源最小化。 此追蹤旗會強制將所有處理轉換成一批次。

  • 改善內部處理,以判斷要從資料庫讀取的頁面。 這會減少DBCC_MULTIOBJECT_SCANNER閂鎖上的爭用情況。

使用此追蹤標誌的其中一個效果是 tempdb 的空間需求tempdb  可能會增加。 Tempdb 可能會增加至DBCC CHECKDB命令所處理的5% 或更多使用者資料庫。 因此, tempdb  當您使用此追蹤標誌來避免自動增長,我們建議您在資料庫大小至少5% 的情況下,將其大小調整為最小值,這可能會降低DBCC CHECKDB命令的效能。 注意: Trace 標誌2562是工作階段層追蹤標誌。 您可以在工作階段層級啟用它。 追蹤旗標2549DBCC CHECKDB命令會建立要在所有資料庫檔案中針對每個唯一磁片磁碟機讀取的內部頁面清單。 這個邏輯根據每個檔案之物理檔案名的磁碟機盤符來判斷唯一磁片磁碟機。 如果基礎磁片在磁碟機盤符上實際上是唯一的,則 DBCC CHECKDB 命令會將這些磁片視為單一磁片。 啟用此追蹤旗標時,會假設每個資料庫檔案都在唯一的磁片磁碟機上。 除非您知道每個檔案都是以唯一的物理磁片為基礎,否則請勿使用此追蹤標記。 注意: Trace 標誌2549是全域追蹤旗標。 若要啟用,您必須使用它做為啟動參數或使用 DBCC TRACEON (2549,-1)。 雖然這些追蹤標誌可改善以DBCC checkdb選項為目標的dbcc checkdb命令的效能   ,但有些使用者可能不會看到效能的任何改善。 雖然這些追蹤標誌可改善磁片 i/o 資源的使用量,但磁片資源的基本效能可能會限制DBCC CHECKDB 命令的整體效能。 請注意下列限制:

  • 在您使用 [ 修復] 選項時,不會針對改善效能而設計效能改進。 例如,當您使用REPAIR_ALLOW_DATA_LOSS選項時,效能改善不是針對改善效能而設計。

  • 這些改良功能不會影響DBCC CHECKALLOC命令。

  • 改良功能可能會協助DBCC CHECKTABLE命令的效能,以取得許多頁面的索引。 不過,改善的目的並不是為了改善 DBCC CHECKTABLE 命令的效能。

狀態

Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。

需要更多協助?

擴展您的技能
探索訓練
優先取得新功能
加入 Microsoft 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與我們的其中一個 Office 支援專員連絡以深入了解您的意見。

×