为了加密 SQL 数据库,我运行以下命令:
CREATE CERTIFICATE <certname> ENCRYPTION BY PASSWORD = '<UseStrongPasswordHere>'
WITH SUBJECT = 'certificate subject', EXPIRY_DATE = '20291031';
go
USE <databasetoencrypt>;
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE <certname>;
GO
Run Code Online (Sandbox Code Playgroud)
尝试执行CREATE DATABASE ENCRYPTION KEY
命令时,我收到此消息,但不知道该怎么做:
无法使用证书“名称”,因为其私钥不存在或不受数据库主密钥的保护。SQL Server 需要能够自动访问用于此操作的证书的私钥。
当我ENCRYPTION BY PASSWORD = '<UseStrongPasswordHere>'
在CREATE CERTIFICATE
命令中省略期间时,它会起作用。但是,我需要创建一个受密码保护的证书。
你有什么主意吗?!谢谢你。