Ознаки
Припустімо, що у вас є Microsoft SQL Server 2016 або Попередня версія бази даних SQL Server, яка містить дані або об'єкти, зашифровані за допомогою шифрування симетричного ключа. У цій ситуації, можливо, не вдається розшифрувати дані або об'єкти, використовуючи той самий симетричний ключ у SQL Server 2017 у Windows, якщо виконуються такі умови:
-
База даних відновлено до сервера SQL Server 2017.
-
Наявний симетричний ключ буде розірвано, і створюється той самий симетричний ключ.
Примітка. Ця проблема не виникає, якщо на сервері SQL Server 2017 не відтворюється симетричний ключ із попередньої версії SQL Server.
Причина
Ця проблема виникає через те, що SQL Server 2017 використовує алгоритм хешування SHA2 для хеш-пароля. SQL Server 2016 і попередні версії SQL Server використовують алгоритм SHA1, який більше не вважається безпечним.
Спосіб вирішення
Ця проблема усунена в такому сукупному оновленні для сервера SQL Server:
Сукупне оновлення 2 для SQL Server 2017
Примітка . Це виправлення вимагає, щоб уразі інсталяції сукупного оновлення буде активованоПОЗНАЧКУ Race (TF) 4631 . Цей прапорець трасування можна ввімкнути за допомогою параметра запуску SQL Server або за допомогою DBCC TRACEON. Симетричний ключ має бути створено після того, як TF 4631 уже ввімкнуто.
Кожне нове Сукупне оновлення для SQL Server містить усі поточні виправлення та всі виправлення системи безпеки, які були включені до попереднього сукупного оновлення. Ознайомтеся з найновішими сукупними оновленнями для сервера SQL Server:
Стан
Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "застосовується до".
Посилання
Відомості про термінологію, яку корпорація Майкрософт використовує для опису оновлень програмного забезпечення.