尝试还原加密备份时,即使副本具有从生成备份的原始/主服务器恢复的主密钥 (dmk)、服务主密钥、证书和私钥,我也会在辅助副本上收到以下错误。
Msg 15581, Level 16, State 7, Line 137
Please create a master key in the database or open the master key in the session before performing this operation.
Msg 3013, Level 16, State 1, Line 137
VERIFY DATABASE is terminating abnormally.
为了规避错误,我像这样围绕操作打开和关闭主密钥。但是,在初级上,我不需要打开和关闭主密钥来进行操作。
OPEN MASTER KEY DECRYPTION BY PASSWORD = 'MyTest!M4st3rPass';
RESTORE VERIFYONLY FROM DISK = '\\FS1\SqlBackups\SQL01\SystemDbs\msdb_backup_2017_09_22_171915_6346240.bak' WITH FILE = 1, NOUNLOAD, NOREWIND;
CLOSE MASTER KEY ;
我相信这是因为主服务器具有带有加密指纹的备份历史记录,但我想知道我是否遗漏了与辅助服务器相关的其他内容。
但是,毕竟,由于证书是在辅助节点上恢复的,因此我将其分配给用于备份加密的 SystemsDB 备份维护计划选项,但如果我出于相同原因保持选中验证选项,则作业将失败。
Source: Back Up Database Task
Executing query "BACKUP DATABASE [master] TO DISK = N'\\FS1\SqlBac...".: 50% complete
End Progress
Error: 2017-09-22 17:08:09.28
Code: 0xC002F210
Source: Back Up Database Task Execute SQL Task
**Description**: Executing the query "declare @backupSetId as int select @backupSetId =..."
failed with the following error: "Please create a master key in the database or open the master key in the session before performing this operation.
VERIFY DATABASE is terminating abnormally.".
Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
End Error
原文由 Hiram 发布,翻译遵循 CC BY-SA 4.0 许可协议
固定的。
参考: https ://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/sql-server-and-database-encryption-keys-database-engine
这一段给出了它:
在我的辅助节点上运行以下内容。
检查后到达解决方案。
所以我想如果我可以让服务主密钥默认加密主密钥,那么这将自动解密。
在此之后再次运行上述选择。
最后,我使用为验证和加密成功设置的选项重新运行了备份作业。验证步骤没有失败,也没有提示打开/关闭主密钥。
以下只是按预期工作,无需打开/关闭主密钥。
哇哦!任务完成。