KB4101502 - 修复:启用 TDE 的数据库压缩备份导致 SQL Server 中的数据库损坏

应用对象
SQL Server 2016 Service Pack 1 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 Developer SQL Server 2017 Enterprise SQL Server 2017 Enterprise Core

症状

假设你使用的是 Microsoft SQL Server 2016 和 Microsoft SQL Server 2017。 在数据库上启用透明数据加密 (TDE) ,然后使用压缩备份数据库。

当您尝试从此备份还原数据库并使用 RESTORE VERIFYONLY FROM DISK SQL 语句验证备份文件时,您注意到备份过程损坏了数据库中的特定页。 此外,你可能会收到错误消息。

同样,RESTORE FROM DISK 过程可能会失败并生成错误消息。 但是,可以使用 CONTINUE_AFTER_ERROR 选项成功完成此过程。

注意

消息 3183,级别 16,状态 1,行 行号
RESTORE 在从备份集读取的数据库“DatabaseName”中的 第 (页 PageNumber) 上检测到错误
消息 3013,级别 16,状态 1
检测到备份集损坏

解决方法

此问题已在 SQL Server 的累积更新中进行了修复:

SQL Server 2017 累积更新 9

SQL Server 2016 SP2 累积更新 2

SQL Server 2016 SP1 累积更新 9

关于 SQL Server 的累积更新:

SQL Server 的每个新累积更新都包含上一个累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:

SQL Server 2017 的最新累计更新

SQL Server 2016 的最新累计更新

状态

Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。

参考资料

了解 Microsoft 用于描述软件更新的术语。