徵狀
假設您有 Microsoft SQL Server 2016 或較舊版本的 SQL Server 資料庫,且其資料或物件是使用對稱金鑰加密來加密。 在這種情況下,如果下列情況屬實,您可能無法在 Windows 上的 SQL Server 2017 中使用相同的對稱金鑰來解密資料或物件:
-
資料庫已還原至 SQL Server 2017。
-
現有的對稱金鑰會遭到丟棄,並建立相同的對稱金鑰。
注意: 如果不會在 SQL Server 2017 中刪除或重新建立舊版 SQL Server 的對稱金鑰,就不會發生這個問題。
原因
之所以會發生此問題,是因為 SQL Server 2017 使用 SHA2 雜湊演算法來散列密碼。 SQL Server 2016 與舊版的 SQL Server 使用的 SHA1 演算法已不會被視為安全的。
解決方案
此問題已在下列 SQL Server 累積更新中修正:
記事 此修正程式需要在安裝累加更新後啟用 T爭用標誌(TF) 4631 。您可以透過使用 SQL Server 啟動選項或使用 DBCC TRACEON,來啟用此追蹤旗標。 一旦已啟用 TF 4631,就必須建立對稱金鑰。
每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:
狀態
Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。
參考
瞭解 Microsoft 用於描述軟體更新的 詞彙。