Я изучаю шифрование базы данных и на самом деле запутываюсь в ошибке, которая случается, когда я пытаюсь включить шифрование в моей базе данных.
Итак, вот что я делаю для создания сертификата
/* Certificat de base de données */
CREATE CERTIFICATE certTestEncryption
WITH SUBJECT='Certificat TestEncryption';
/* Chiffrage de la BDD */
SELECT * FROM sys.certificates
И вот что я получил:
Итак, мой сертификат действительно существует.
Но когда я пытаюсь выполнить этот оператор:
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM=AES_256
ENCRYPTION BY SERVER CERTIFICATE certTestEncryption;
Он вообще не работает и выдает следующее сообщение об ошибке:
Не удается найти сертификат «certTestEncryption», поскольку он не существует или у вас нет прав доступа. .
Так что я пробую это
EXECUTE AS LOGIN = 'sa';
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM=AES_256
ENCRYPTION BY SERVER CERTIFICATE certTestEncryption;
Но все равно выдает ту же ошибку, что и ранее.
Я также пытаюсь шифровать асимметричноключ:
EXECUTE AS LOGIN = 'sa';
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM=AES_256
ENCRYPTION BY SERVER ASYMMETRIC KEY asymKey;
Это все еще дает мне эту ошибку: Невозможно найти асимметричный ключ "asymmetricKey", так как он не существует или у вас нет авторизации.
Даже если асимметричный ключна самом деле существует: