症状
请考虑以下情况:
-
在 Microsoft SQL Server 2014 中有一个内存中的 OLTP 数据库。
-
在数据库上启用透明数据加密(TDE)。
-
您禁用 TDE,并丢弃所有加密密钥和证书。
-
您尝试使数据库脱机。
在这种情况下,您不能使数据库脱机,即使需要日志恢复也是如此。 此外,你还会收到以下错误消息:
消息33111、级别16、状态3、行37Cannot 查找指纹为 "0xA4818012ECFD38A0C1A73298B8A0460F6C261392" 的服务器证书。消息5181、级别16、状态5、行37Could 不会重启数据库 "<数据库名称>"。 还原为以前的状态。消息5069、级别16、状态1、行37ALTER 数据库语句失败。消息9016、级别21、状态7、行37An 在处理数据库 "<数据库名称>" 的日志时发生错误。 无法解密日志块。消息3414,级别21,状态1,行37An 在恢复期间出现错误,从而阻止数据库 "<数据库名称>"。 (x:y)重启。 诊断并修复恢复错误,或从已知完好的备份还原。 如果未更正错误或预期错误,请联系技术支持。
解决方案
在 SQL Server 的以下累积更新中,此问题首先已修复。
SQL Server 2014 的累积更新4 /en-us/help/2999197
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。