某些資料庫作業花很長的期間,以完成或交易記錄檔有多個虛擬記錄檔時遇到錯誤

文章翻譯 文章翻譯
文章編號: 2028436 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

徵狀

您可能會遇到下列問題:
  1. 一或多個資料庫花很長的時間才能完成修復,SQL Server 啟動時
  2. 當您執行資料庫的還原時,花很長的時間才能完成
  3. 嘗試附加資料庫花很長的時間才能完成
  4. 當您試圖安裝資料庫鏡像您遭遇的錯誤訊息 1413年、 1443年和 1479年表示逾時。
  5. 您會遇到記憶體相關 701 類似的錯誤,當您嘗試還原資料庫

當您檢查 SQL Server 錯誤記錄檔時,您注意到資料庫復原程序的分析階段之前花費大量時間。
2010-05-08 14:42:38.65 spid22s 啟動資料庫 'lot_of_vlfs'。
2010-05-08 14:46:04.76 spid22s 分析資料庫 'lot_of_vlfs' (16) 為的 0%完成 (持續大約 0 秒)。階段 3 之 1。這是僅資訊性訊息。使用者不不需要任何動作。

發生的原因

在資料庫復原程序的初始階段,SQL Server proforms 的所有虛擬記錄檔探索呈現所有交易記錄檔中。內建的所有虛擬記錄檔清單。這個過程需要花費很長的時間時出現在特定資料庫中的虛擬記錄檔數目而定。資料庫可以最後有大量的虛擬記錄檔如果交易記錄檔遇到經常自動成長發生非常小的大小增加成長。

通常您開始遇到範圍內的數個數百個虛擬記錄檔數目時,徵狀一節中所提到的問題。

解決方案

您可以使用下列的部落格,這些方法來尋找特定的資料庫中的虛擬記錄檔數目:
記錄檔的檔案結構會如何影響資料庫的復原時間
您可能需要保留在合理的數字,例如 10000 個虛擬記錄檔的總數。

您可以重新設定交易記錄檔包含只有有限的數量的虛擬記錄檔,使用下列方法:
  1. 壓縮交易記錄檔、 檔案成長所需的大小以手動方式使用 TSQL ALTER DATABASE<database name="">修改的檔案 (名稱 = '邏輯檔案名稱的交易記錄檔',大小 = <required size="">)</required> </database>
  2. 重建交易記錄檔,然後以手動方式所需的大小增加交易記錄檔
    1. 如果資料庫先前已清除 [不含使用者或開啟的交易] 的關機,您可以利用 FOR ATTACH_REBUILD_LOG 選擇建立資料庫,以建立新的交易記錄檔。
    2. 如果讀取/寫入資料庫會自動擁有單一記錄目前無法使用的檔案和資料庫已關閉如果清除 [不含使用者或開啟的交易] 附加作業,如附加選擇建立資料庫之前重建記錄檔,並且更新主要檔案。

重新設定交易記錄檔的版面配置之後,檢閱並進行必要的變更自動成長設定交易記錄檔,以避免在未來遇到相同的問題。

附註在執行任何一項作業之前,請確定您有有效的可還原備份,以防您稍後會遇到一些問題。

2524743 修正: 復原所需的時間比預期的 SQL Server 2008年中,或在 SQL Server 2008 R2 的環境中的資料庫

2455009 修正: 效能變慢時如果有許多在 SQL Server 2005 中,SQL Server 2008年或 SQL Server 2008 R2 的交易記錄檔內的 Vlf,復原資料庫

2653893 花很長的時間,若要還原資料庫的 SQL Server 2008 R2 修正程式:

979042 修正: 主體資料庫不能找回如果資料庫中 SQL Server 2005 中,或在 SQL Server 2008年中有大量的虛擬記錄檔

其他相關資訊

完整的虛擬記錄檔的詳細資訊,請參閱線上叢書 》 主題: 交易記錄檔實體架構
這個問題的討論區:
記錄檔的檔案結構會如何影響資料庫的復原時間
交易記錄檔 Vlf-太多或太少嗎?
1413 錯誤時啟動資料庫鏡像 – 多少虛擬記錄檔是太多?

也請注意已知問題日益增加的交易記錄檔:

2633151 SQL Server 資料庫交易記錄檔無法成長設定的檔案成長數值


如需有關產品或自動檢查這個條件,SQL Server 產品的版本和您的 SQL Server 的執行個體上的工具的詳細資訊,請參閱下表:

摺疊此表格展開此表格
規則軟體規則標題規則描述針對規則進行評估的產品版本
SQL Server 2008 R2 最佳練習分析器 (SQL Server 2008 R2 BPA)




有大量的 VLF 存在於資料庫





SQL Server 2008 R2 最佳練習分析器 (SQL Server 2008 R2 BPA) 提供規則,以偵測資料庫包含大量的虛擬記錄檔的位置的情況。SQL Server 2008 R2 BPA 支援 SQL Server 2008年,以及 SQL Server 2008 R2。

如果您執行 BPA 工具,並發生錯誤的資料庫引擎-有大量的 VLF,資料庫標題與您需要確認受影響的資料庫的虛擬記錄檔數目並重新設定交易記錄檔。
SQL Server 2008
SQL Server 2008 R2






SQL Server 2012年最佳練習分析器 (SQL Server 2012 BPA)



有大量的 VLF 存在於資料庫




SQL Server 2012年最佳練習分析器 (SQL Server 2012 BPA) 提供規則,以偵測資料庫包含大量的虛擬記錄檔的位置的情況。

如果您執行 BPA 工具,並發生錯誤的資料庫引擎-有大量的 VLF,資料庫標題與您需要確認受影響的資料庫的虛擬記錄檔數目並重新設定交易記錄檔。
SQL Server 2012








屬性

文章編號: 2028436 - 上次校閱: 2014年5月7日 - 版次: 3.0
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • Microsoft SQL Server 2014 Developer
  • Microsoft SQL Server 2014 Enterprise
  • Microsoft SQL Server 2014 Express
  • Microsoft SQL Server 2014 Standard
  • Microsoft SQL Server 2014 Web
關鍵字:?
kbmt KB2028436 KbMtzh
機器翻譯
請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。
按一下這裡查看此文章的英文版本:2028436
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com