#sql-server #sql-server-2016 #always-encrypted
#sql-server #sql-server-2016 #всегда зашифрованный
Вопрос:
Я только что установил SQL 2016 Standard Edition, потому что хотел использовать функцию «Всегда зашифрованный». Однако, когда я попытался создать главный ключ столбца в разделе Безопасность-> Всегда зашифрованные ключи-> Главный ключ столбца, я получил следующую ошибку:
productversion: 13.0.160.5, productlevel: RTM, редакция: Standard Edition 64bit Есть идеи? Спасибо!
Комментарии:
1. Используете ли вы SSMS 2016 и запускаете ли запрос к экземпляру, отличному от 2016, или наоборот?
2. Привет, я использую SQL Management Studio 2016 и SQL Server 2016, Standard edition
3. Запустите SELECT @@version и вставьте его в свой пост просто для подтверждения.
4. Microsoft SQL Server 2016 (RTM) — 13.0.1601.5 (X64) 29 апреля 2016 23:23:58 Авторское право (c) Microsoft Corporation Standard Edition (64-разрядная версия) на Windows 10 Pro 6.3 <X64> (сборка 10586:) (Гипервизор)
5. Выполните свои обычные действия, дойдите до того момента, когда вы собираетесь нажать ok, чтобы сгенерировать ключ, но вместо этого перейдите в верхнюю часть окна запроса и выведите команду скриптом в новое окно. Запустите TSQL и посмотрите, по-прежнему ли вы получаете ошибку.
Ответ №1:
У меня была такая же проблема. Я исправил это, обновив до Sql Server 2016 SP1 с Sql Server 2016.
Ранее @@version
был:
- Microsoft SQL Server 2016 (RTM-GDR) (KB3194716) — 13.0.1722.0 (X64) 26 сентября 2016 13:17:23 Авторское право (c) Microsoft Corporation Standard Edition (64-разрядная версия) на Windows 10 Pro 6.3 (сборка 14393:)
Теперь @@version
есть:
- Microsoft SQL Server 2016 (SP1) (KB3182545) — 13.0.4001.0 (X64) 28 октября 2016 18:17:30 Авторское право (c) Microsoft Corporation Standard Edition (64-разрядная версия) на Windows 10 Pro 6.3 (сборка 14393:)
Обратите также внимание, что моя SSMS полностью обновлена.
- Инструменты> Проверить наличие обновлений > Подробности — 13.0.16100.1
- У коллеги немного более старая сборка SSMS, и он даже не видит возможности зашифровать столбцы.
Комментарии:
1. Должно быть отмечено как ответ, проблема в том, что ваша SSMS достаточно новая, чтобы поддерживать always encrypted, но ваша версия SQL Server — нет.
Ответ №2:
Вероятно, проблема была вызвана восстановлением базы данных SQL2014. Я создал резервную копию базы данных 2014 года, а затем восстановил ее в 2016 году. SQL, возможно, рассматривал это как схему 2014 года и поэтому жаловался, что главный ключ столбца не поддерживается. Как я это решил: в SSMS 2016 сгенерируйте .сценарий sql для импортированной базы данных (в дополнительных настройках выберите сценарий SQL 2016) Установите новый экземпляр SQL 2016 (который, возможно, не понадобится для тестирования) и запустите сгенерированный sql вместо опции восстановления
Комментарии:
1. Где я могу найти Дополнительные настройки?
2. @DovMiller щелкните правой кнопкой мыши на базе данных, из которой вы хотите сгенерировать сценарий -> задача -> сгенерировать сценарии -> установить параметр сценария. в окне дополнительных опций есть кнопка дополнительно -> выбрать сценарий для версии sql
Ответ №3:
«Всегда зашифрованный доступен в SQL Server 2016 (13.x) и базе данных SQL. (До SQL Server 2016 (13.x) SP1 всегда зашифрованный доступ был ограничен корпоративной версией.)»