由*正确*服务主密钥加密的数据库主密钥?

Ano*_*246 5 security sql-server t-sql sql-server-2008-r2 encryption

我的客户经常运行我们将数据库从 prod 环境移动到较低环境的过程(使用 prod 数据库刷新 QA 等)。这些 DB 上有数据库主密钥。我们将这些重新加密到目标服务器上的服务主密钥中没有问题,但这是烦人的部分:

  1. sys.databases 表示 DMK 已经加密(尽管使用源服务的 SMK)
  2. 我们无法找到判断 DMK 是否由当前 SMK 加密的方法(检查所有加密 DMV)
  3. sys.symmetric_keys 中的 SMK 签名始终为 0x01(跨服务器不唯一)。

这本身不是问题。解决方法始终是将 DMK 重新加密为 SMK。我们只想知道它是否已经完成。任何人都有任何技巧吗?

谢谢,埃里克

小智 1

根据网上书籍

“master 中 sys.databases 目录视图的 is_master_key_encrypted_by_server 列指示数据库主密钥是否由服务主密钥加密。”

这是链接http://technet.microsoft.com/en-us/library/ms174382.aspx

  • 不幸的是,BOL 中的措辞不准确——“由服务主密钥加密”应为“由 ***a*** 服务主密钥加密”。 (2认同)