KB5014298 - 修正:執行還原資料庫或還原記錄期間發生錯誤 3241

Applies To
SQL Server 2019 on Windows

症狀

在 Microsoft SQL Server 2019 中,還原已啟用透明資料加密 (TDE 之資料庫的壓縮資料庫記錄備份) 可能會導致下列錯誤:

注意

  • Msg 3241, Level 16, State 18, Line Number, Msg 3241, Level 16, State 18, Line < Number>
  • 裝置上的媒體系列 '<備份檔案名稱>'格式不正確。 SQL Server 無法處理此媒體系列。

因應措施

若要解決此問題,請勿使用下列其中一種方法來壓縮啟用 TDE 資料庫的備份:

解決方式

累積更新資訊

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

SQL Server 2019 的累積更新 16

備註 您必須使用此修正程式一起建立備份,以避免發生問題。 在目標執行個體上安裝固定的 CU,並嘗試還原在沒有修正程式的情況下建立的相同備份將無法運作。

其他資訊

重要

從 SQL Server 2019 CU16 開始,在已啟用 TDE 的資料庫或日誌) (建立壓縮備份時,將會使用新的備份格式,只能在已安裝 CU16 或更新版本的執行個體上還原。

在 CU16 或版本 CU15 或更早版本的 SQL Server 2019 執行個體上,還原建立啟用 TDE 的資料庫的壓縮備份時失敗,並導致下列錯誤:

  • 還原資料庫

    注意

    • Msg 3013, Level 16, State 1, Line Number, Msg 3013, Level 16, State 1, Line Number, Msg 3013, Level 16, State 1, Line < LineNumber>
    • 還原資料庫異常終止。
    • Msg 9004, Level 21, State 1, Line Number, Line Number<>
    • 處理資料庫 'TDE_DB' 的記錄時發生錯誤。 可能的話,請從備份還原。 如果無法使用備份,可能需要重建記錄。
  • 還原記錄

    注意

    • 地點:mediaRead.cpp:1018
    • 運算式: readSize <= m_Demand
    • SPID:84
    • 處理序識別碼: ProcessID
    • Msg 3013, Level 16, State 1, Line Number, Msg 3013, Level 16, State 1, Line Number, Msg 3013, Level 16, State 1, Line < LineNumber>
    • 還原記錄異常終止。
    • Msg 3624,層級 20,狀態 1,行 <列編號>
    • 系統判斷提示檢查失敗。 如需詳細資料,請檢查 SQL Server 錯誤記錄檔。 一般而言,判斷提示失敗是由軟體錯誤或資料損毀所造成。 若要檢查資料庫損毀,請考慮執行 DBCC CHECKDB。 如果您同意在安裝期間傳送傾印給 Microsoft,將會將迷你傾印傳送給 Microsoft。 更新可能會從 Microsoft 的最新 Service Pack 或技術支援的 Hotfix 中取得。

備註 RESTORE HEADERONLY 和 RESTORE FILELISTONLY 不受此問題影響,而且會在所有情況下正常運作。

根據上述案例,對於無效的完整備份,RESTORE VERIFYONLY 可能會成功傳回:請勿依賴 RESTORE VERIFYONLY 來建立可以在不遇到上述問題的情況下還原備份。 RESTORE VERIFYONLY 針對記錄備份通常會失敗,並出現與上述實際 RESTORE LOG 相同的錯誤。

因此,請務必確定在可能啟用 TDE 和備份壓縮的情況下,從其他 SQL Server 2019 執行個體取用備份的任何 SQL Server 2019 執行個體會在產生備份內容的執行個體之前接收 CU16 (或更新版本) 。 記錄傳送架構就是這種情況的主要範例:先升級次要執行個體。

一旦使用壓縮建立交易記錄備份,通常無法在不壓縮的情況下重新建立。 因此,在這樣的環境下,將記錄傳送主要伺服器升級至 SQL Server 2019 CU16 或更新版本,會中斷還原作業,直到次要伺服器也升級。

啟用 TDE 資料庫的未壓縮備份、未啟用 TDE 之資料庫的壓縮備份,或未啟用 TDE 之資料庫的未壓縮備份,將不會使用 CU16 中引進的新備份格式,而且可以在任何版本的 SQL Server 2019 執行個體上還原。

因此,如果您打算將啟用 TDE 的資料庫內容 (完整備份或交易日誌備份) 還原至 SQL Server 2019 CU16 之前舊版的任何SQL Server執行個體,則必須停用備份壓縮。

關於 SQL Server 的累積更新

SQL Server 的每個新累積更新都包含前一個組建中的所有 Hotfix 和安全性修正程式。 建議您安裝適用於您 SQL Server 版本的最新組建:

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

狀態

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

參考資料

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