KB2963384 - 修正:在 SQL Server 2012 或 SQL Server 2014 中,當 tempdb 資料庫的記錄檔滿時,SQL Server會當機

Applies To
SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Express - duplicate (do not use) SQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Express SQL Server 2012 Web SQL Server 2012 Standard

症狀

假設您使用的是 Microsoft SQL Server 2012 或 SQL Server 2014。 當 tempdb 資料庫的記錄檔已滿時,SQL Server 會當機,並收到下列錯誤訊息:

注意

錯誤:9002,嚴重性:17,狀態:4。
因「ACTIVE_TRANSACTION」導致資料庫「tempdb」的交易記錄已滿。
錯誤:3314,嚴重性:21,狀態:3。
復原資料庫 'tempdb' 中記錄的作業期間,記錄識別碼 (135:376:442) 發生錯誤。 通常,特定失敗先前會記錄為 Windows 事件記錄檔服務中的錯誤。 從備份還原資料庫或檔案,或修復資料庫。
錯誤:3449,嚴重性:21,狀態:1。
SQL Server必須關閉才能復原 (資料庫 ID 為 2) 的資料庫。 資料庫是無法關閉的使用者資料庫或系統資料庫。 重新啟動 SQL Server。 如果資料庫在其他啟動後無法復原,請修復或還原資料庫。
SQL 追蹤已因為伺服器關閉而停止。 追蹤識別碼 = '1'。 這只是一則資訊訊息;不需要使用者動作。

如果 tempdb 記錄檔的大小不足以處理 tempdb 工作負載,且記錄檔的自動成長設定為 關閉,就會發生此問題。 如果因為空間有限而在 tempdb 復原失敗,SQL Server 就會當機。

此 Hotfix 可讓您在記錄空間不足時更精確地計算保留空間。 此 Hotfix 也會透過啟用 tempdb 記錄暫時成長,協助避免 tempdb 的復原失敗。 這些變更有助於防止伺服器當機。

解決方式

SQL Server 2014 的 Service Pack 資訊

若要解決此問題,請取得 Microsoft SQL Server 2014 的最新 Service Pack。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2958069 如何取得 SQL Server 2014 的最新版 Service Pack

如需 SQL Server 2014 Service Pack 1 (SP1) 的詳細資訊,請參閱 SQL Server 2014 Service Pack 1 中修正的錯誤。

SQL Server 2012 的 Service Pack 資訊

若要解決此問題,請取得 Microsoft SQL Server 2012 的最新 Service Pack。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2755533 如何取得 SQL Server 2012 的最新版 Service Pack

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。