为了简短地讲述一个简短的故事,我怎样才能将数据库返回到它从未拥有任何主密钥,证书等的地步?
当前加密的数据是测试数据,因此我不需要保留它。
我将数据库分离并将其移至未来的生产服务器,但没有完成我应该做的所有工作以使其工作。
这是我尝试的结果和结果:
状态:被遗弃
状态:被遗弃
状态:被遗弃
DROP DATABASE ENCRYPTION KEY
DROP CERTIFICATE TDECertificate
DROP MASTER KEY
状态:在家用机器上工作,能够完美地运行一切,但这是原始设置的机器,因此它不会像生产当前那样被打破。计划今晚在生产中尝试这种方法(我只能在远程工作一个小时每晚)
在主密钥和加密方面,还有什么我需要做的事情来将其退回到开箱即用的状态吗?我是否还需要重新生成服务主密钥(我想我已经阅读过了)
答案 0 :(得分:0)
我怀疑你问的是错误的问题,因为答案是“如何将数据库恢复到没有密钥的位置?”是删除所有键。您还说您不关心加密数据,因为它是测试数据。但是,如果您的目标是将加密从系统迁移到生产系统并且它正在您的系统上运行,那么您需要将数据库主密钥备份到文件并将其还原到生产数据库。您没有保留用于加密SQL Server中的密钥的原始密码的事实是无关紧要的,因为在创建DMK时,系统还使用服务主密钥对其进行加密。备份DMK时,系统可以为您解密密钥,而无需提供原始密码。除非您明确执行了按服务主密钥删除加密的命令,否则可以将DMK备份到文件,提供加密文件的密码,将文件迁移到生产系统并使用先前提供的文件加密密码将其恢复。或者,您可以删除所有密钥并重建加密层次结构,从而为密钥和证书指定相同的名称。