KB4051356 - 修正:在 SQL Server 2016 和 SQL Server 2017 中,記憶體中資料庫還原失敗並出現錯誤

套用到
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

症狀

請考慮以下案例:

  • 您在 Microsoft SQL Server 2016 或 SQL Server 2017 中使用記憶體內部線上交易處理 (OLTP) 的資料庫。
  • 磁碟機含有顯示為「已滿」的$FSLOG。

在此案例中,資料庫還原會在下列任一情況下失敗:

  • 重新啟動 SQL Server 服務時。 在此情況下,如果資料庫重新啟動,您可能會注意到資料庫復原失敗,並傳回 5511 錯誤。 此外,資料庫可能會進入可疑模式。
  • 當您嘗試從備份還原資料庫時。 在此情況下,資料庫可能不會上線,因為檔案系統記錄損毀。 例如,檔案名稱中包含 “ffff” 名稱模式時。

在這些情況下,您可能會收到類似下列的錯誤訊息:

注意

Msg 5511, Level 16, State 10
FILESTREAM 的檔案系統記錄 'fba1eafd-fc759c68-ffff.045e1502-038a6397-0000.d790ce11-7d80-4654-9ec0-0c7f4f7c5388.0-0.1000016' 已損毀。

Msg 3167, Level 16, State 1
RESTORE 無法啟動資料庫 DatabaseName

Msg 3013, Level 16, State 1
還原資料庫異常終止。

Msg 3414, Level 21, State 1
復原期間發生錯誤,導致資料庫 DatabaseName 無法重新啟動。 診斷復原錯誤並加以修正,或從已知良好的備份還原。 如果錯誤未更正或預期,請聯絡技術支援

解決方式

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

SQL Server 2017 累積更新 3

SQL Server 2016 SP1 累積更新 6

關於 SQL Server 的累積更新:

SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:

適用於 SQL Server 2017 的最新累積更新

適用於 SQL Server 2016 的最新累積更新

狀態

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

參考資料

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