SQL 2014删除或修复主密钥问题

时间:2016-05-04 13:21:25

标签: sql-server encryption

为了简短地讲述一个简短的故事,我怎样才能将数据库返回到它从未拥有任何主密钥,证书等的地步?

当前加密的数据是测试数据,因此我不需要保留它。

我将数据库分离并将其移至未来的生产服务器,但没有完成我应该做的所有工作以使其工作。

这是我尝试的结果和结果:

  1. 从旧服务器备份现有主密钥并恢复为新密钥 - 输掉我丢失了密码。所以我又添了一个。 -backup没问题 - 无法将文件复制到谷歌驱动器(这是我获取服务器的唯一方法),也无法移动文件,甚至无法通过电子邮件或打开它,接收我没有权限的消息。尝试了3种不同的备份。
  2. 状态:被遗弃

    1. 在生产中的主密钥上创建新密码,新证书,新对称密钥。资料来源:https://mattsql.wordpress.com/2012/11/13/migrating-sql-server-databases-that-use-database-master-keys/ - 失败 - 记不起错误。
    2. 状态:被遗弃

      1. 重新生成密钥 -ALTER MASTER KEY通过密码加密重新生成 - 似乎没有工作,记不起确切的错误。
      2. 状态:被遗弃

        1. 删除所有内容,阅读所有内容 -Per https://sqlsailor.com/2012/01/03/drop-master-key-understanding-encryption-hierarchy/
        2. DROP DATABASE ENCRYPTION KEY
          DROP CERTIFICATE TDECertificate
          DROP MASTER KEY

          状态:在家用机器上工作,能够完美地运行一切,但这是原始设置的机器,因此它不会像生产当前那样被打破。计划今晚在生产中尝试这种方法(我只能在远程工作一个小时每晚)

          在主密钥和加密方面,还有什么我需要做的事情来将其退回到开箱即用的状态吗?我是否还需要重新生成服务主密钥(我想我已经阅读过了)

1 个答案:

答案 0 :(得分:0)

我怀疑你问的是错误的问题,因为答案是“如何将数据库恢复到没有密钥的位置?”是删除所有键。您还说您不关心加密数据,因为它是测试数据。但是,如果您的目标是将加密从系统迁移到生产系统并且它正在您的系统上运行,那么您需要将数据库主密钥备份到文件并将其还原到生产数据库。您没有保留用于加密SQL Server中的密钥的原始密码的事实是无关紧要的,因为在创建DMK时,系统还使用服务主密钥对其进行加密。备份DMK时,系统可以为您解密密钥,而无需提供原始密码。除非您明确执行了按服务主密钥删除加密的命令,否则可以将DMK备份到文件,提供加密文件的密码,将文件迁移到生产系统并使用先前提供的文件加密密码将其恢复。或者,您可以删除所有密钥并重建加密层次结构,从而为密钥和证书指定相同的名称。

相关问题