我创建了一个主密钥,然后是一个证书并加密了我的数据库。
CREATE MASTER KEY ENCRYPTION
BY PASSWORD='A Very Strong Password';
GO
CREATE CERTIFICATE foo
WITH
SUBJECT='Database Encryption for Multi';
GO
USE mydatabase
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE foo;
GO
ALTER DATABASE mydatabase SET ENCRYPTION ON;
GO
如何更改 MASTER KEY 密码?
谢谢
根据Microsoft Docs页面,语法为:
从该文档页面:
但是,请确保您了解更改密钥的后果,并确保备份新密钥。
查看我最近的帖子以获取更多详细信息。
一些注意事项:
您实际上并没有使用 ALTER MASTER KEY REGENERATE 修改现有的主密钥。您实际上是在解密依赖密钥的任何内容,然后删除旧密钥并创建一个全新的密钥,然后使用该新密钥重新加密以前使用旧密钥加密的所有内容。
您需要成为 sysadmin 组的成员才能更改主密钥。此外,更改主密钥不会解密和重新加密任何 TDE 加密的数据库,它只是加密和重新加密已使用密钥加密的证书。这些证书仍然有效,不会以任何方式修改;只是它们受到新的主密钥的保护。
在脚本中保存密码总是一个问题。过去我通过将与证书相关的脚本视为受保护来解决这个问题,就像我保护 TDE 密钥一样。在源代码控制系统中,有必要对脚本应用访问控制,以确保只有授权的系统管理员才能访问它们。