应用对象
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 2016 Service Pack 1 SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Service Pack 2 - duplicate (do not use)

症状

假设你使用的是 Microsoft SQL Server 2014 或 2016 Always On Availability Group (AG)。 如果辅助数据库上出现 类似于以下 内容的写错误,则数据库可能会暂停。

错误:17053,严重性:16,状态:1。 SQLServerLogMgr:: LogWriter:操作系统错误6(句柄无效。) encountered. 日志刷新期间出现写入错误。

在这种情况下,如果恢复数据移动,则不会恢复数据库,并且该数据库仍处于暂停状态。

解决方法

若要解决此问题,你可以重新启动 SQL Server 实例,或者你可以从可用性组中删除辅助数据库,然后再将其添加回来。

解决方案

在 SQL Server 的以下累积更新中修复了此问题:

       SQL Server 2016 RTM 的累积更新8

       SQL Server 2016 的累积更新 5 CU5

       SQL Server 2014 SP2 的累积更新6

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

SQL Server 2016 的最新累计更新

SQL Server 2014 的最新累积更新

注意

安装此更新后,如果再次出现此问题,你可以运行以下 transact-sql 命令重启数据库,然后恢复数据库的数据移动。

ALTER DATABASE <database_name> 设置 HADR 简历

这并不是自动化的。 因此,您必须手动发出恢复操作。 由于大多数导致辅助副本上数据移动暂停的错误类型需要手动干预。 

例如,如果日志文件位于共享文件夹或存储在 Microsoft Azure Blob 中,但连接丢失,则会出现错误17053。 手动干预将确保首先还原共享文件夹或 Azure Blob 的连接,然后再发出 "HADR 恢复" 命令。

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

参考

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

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。