KB4051356 - 修正:記憶體內資料庫還原在 2016 SQL Server 及 2017 SQL Server 中出現錯誤

套用到
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1 SQL Server 2017 Enterprise SQL Server 2017 Enterprise Core SQL Server 2017 Developer

症狀

請考慮以下案例:

  • 你有一個資料庫,在 2016 或 2017 SQL Server SQL Server Microsoft 使用 OLTP) 記憶體內線上交易處理 (OLTP 。
  • 磁碟機裡有顯示已滿的$FSLOG。

在此情境下,資料庫還原會在以下任一情況下失敗:

  • 當你重新啟動 SQL Server 服務時, 在這種情況下,如果資料庫重新啟動,你可能會發現資料庫復原失敗並回傳 5511 錯誤。 此外,資料庫可能會進入嫌疑人模式。
  • 當你嘗試從備份還原資料庫時, 在這種情況下,資料庫可能因檔案系統日誌紀錄損壞而無法上線。 例如,如果檔名包含「ffff」的名稱模式。

在此情況下,您可能會收到類似以下錯誤訊息:

注意

Msg 5511,16 級,州 10
FILESTREAM 的檔案系統日誌記錄 'fba1eafd-fc759c68-ffff.045e1502-038a6397-0000.d790ce11-7d80-4654-9ec0-0c7f4f7c5388.0-0.10000016' 在日誌資料夾下已損壞。

Msg 3167,16 級,狀態 1
RESTORE 無法啟動資料庫 DatabaseName

Msg 3013,16 級,狀態 1
還原資料庫異常終止。

Msg 3414,21 級,狀態 1
在復原過程中發生錯誤,導致資料庫 DatabaseName 無法重新啟動。 診斷復原錯誤並修正,或從已知良好的備份還原。 若錯誤未被修正或預期未被修正,請聯絡技術支援

解決方式

此問題已在以下 SQL Server 累積更新中修正:

SQL Server 2017 累積更新 3

Cumulative Update 6 for SQL Server 2016 SP1

關於 SQL Server 的累積更新:

每次新的 SQL Server 累積更新都包含了之前累積更新中包含的所有熱修補與安全修補。 請查看 SQL Server 的最新累積更新:

SQL Server 2017 最新累積更新

SQL Server 2016 最新累積更新

狀態

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

參考資料

了解 Microsoft 用來說明軟體更新的術語