KB4463125 - 修正:在 SQL Server 2016 和 2017 中,當資料庫加密金鑰超過 3,456 位元時發生錯誤

套用到
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 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows

症狀

您在 Microsoft SQL Server 2016 或 2017 的執行個體上建立長度超過 3,456 位元的資料庫加密金鑰 (DEK) 。 如果您使用此 DEK (TDE) 啟用透明資料庫加密,則SQL Server錯誤記錄檔中會記錄類似下列的錯誤項目:

注意

日期時間 SPID 將資料庫 'database_name' 的資料庫選項 ENCRYPTION 設定為 ON。 日期時間 SPID 正在開始對資料庫 'database name' 進行資料庫加密掃描。 日期時間 SPID 資料庫的資料庫加密掃描已中止。 重新發出 ALTER DB 以繼續掃描。

原因

發生此問題的原因是 SQL Server 不會擲回錯誤訊息來指出不支援長度大於 3,456 位元的 DEK。

解決方式

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

SQL Server 2017 累積更新 13

SQL Server 2016 Service Pack 2 的累積更新 5

SQL Server 2016 Service Pack 1 的累積更新 11

備註 套用此修正程式之後,嘗試建立長度超過 3,456 位元的 DEK,嘗試失敗,且收到下列錯誤訊息:

注意

Msg 33178, Level 16, State 2, Line LineNumber
加密金鑰長度超過目前支援的長度上限 3456。

關於 SQL Server 組建

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

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

適用於 SQL Server 2016 的最新組建

狀態

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

參考資料

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