Симптоми
Да предположим, че имате база данни на Microsoft SQL Server 2016 или по-стара версия на SQL Server, в която данните или обектите са шифровани чрез шифроване със симетричен ключ. В тази ситуация може да не успеете да дешифрирате данните или обектите с помощта на същия симетричен ключ в SQL Server 2017 на Windows, ако са налице следните условия:
- Базата данни е възстановена в SQL Server 2017.
- Съществуващият симетричен ключ се изпуска и се създава същият симетричен ключ.
Забележка Този проблем няма да възникне, ако симетричният ключ от по-стара версия на SQL Server не бъде изпуснат или създаден отново в SQL Server 2017.
Причина
Този проблем възниква, защото SQL Server 2017 използва алгоритъма за хеширане на SHA2 за хеширане на фразата за достъп. SQL Server 2016 и по-ранните версии на SQL Server използват алгоритъма SHA1, който вече не се счита за сигурен.
Решение
Този проблем е решен в следната кумулативна актуализация за SQL Server:
Сборна актуализация 2 за SQL Server 2017
Забележка Тази корекция изисква флаг за проследяване (TF) 4631 да бъде разрешен, след като инсталирате кумулативната актуализация. Този флаг за проследяване може да бъде разрешен с помощта на опцията за стартиране на SQL Server или с помощта на DBCC TRACEON. Симетричният ключ трябва да бъде създаден, след като TF 4631 вече е разрешен.
За кумулативните актуализации за SQL Server:
Всяка нова кумулативна актуализация за SQL Server съдържа всички актуални поправки и корекции на защитата, които са били включени в предишната кумулативна актуализация. Прегледайте последните кумулативни актуализации за SQL Server:
Последна сборна актуализация за SQL Server 2017
Състояние
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.
Справки
Научете повече относно терминологията, която Microsoft използва за описване на актуализациите на софтуера.