我正在启动一个加密数据库文件的项目。我通过以下方式创建了一个主密钥和一个证书:
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Master_K3y';
GO
CREATE CERTIFICATE MY_DB_CERT WITH SUBJECT = 'Some subject here';
GO
我有两个选项来备份证书:使用或不使用私钥。我不知道这个私钥是从哪里来的,因为我没有提供。也许它是在创建证书时为我生成的?
无论如何,我的第一个备份语句没有提供私钥子句。
USE master;
GO
OPEN MASTER KEY DECRYPTION BY PASSWORD = 'Master_K3y';
GO
BACKUP MASTER KEY TO FILE = 'MASTER_KEY.bak'
ENCRYPTION BY PASSWORD = 'yeK_r3tsaM';
GO
BACKUP CERTIFICATE MY_DB_CERT TO FILE = 'MY_DB_CERT.bak';
GO
我想知道这是否足以恢复工作状态下的所有内容,比如在移动到新服务器时?如果不是,那么在没有(?)私钥的情况下备份证书的用例是什么?