【问题标题】:SQL Server Backup To URL failing intermittentlySQL Server 备份到 URL 间歇性失败
【发布时间】:2016-07-22 20:33:58
【问题描述】:

在 DS13 Azure VM 上运行的 SQL Server 2014 SP2、Windows Server 2012 R2(完整更新)。

我正在对 Azure 存储帐户运行完整备份,但它间歇性地失败,没有太多信息。

有问题的数据库未压缩不到 100GB,压缩后不到 9GB。

使用 dbcc traceon(3051,-1) 我可以看到日志内容。出现问题的唯一迹象是以下几个:

2016 年 7 月 12 日下午 3:45:16:记录结果异常消息:底层连接已关闭:服务器关闭了预期保持活动状态的连接。 2016 年 7 月 12 日下午 3:45:16:HTTP 状态代码 -1,HTTP 状态消息

2016 年 7 月 12 日下午 3:45:25:记录结果异常消息:无法从传输连接读取数据:连接已关闭。 2016 年 7 月 12 日下午 3:45:25:HTTP 状态代码 -1,HTTP 状态消息

2016 年 7 月 12 日下午 3:45:25:记录结果异常消息:无法将数据写入传输连接:远程主机强制关闭现有连接。 2016 年 7 月 12 日下午 3:45:25:HTTP 状态代码 -1,HTTP 状态消息

我终于看到了:

2016 年 7 月 12 日下午 3:45:39:遇到限制状态:允许并行线程 1,未完成操作 16,throttleDelta 1

它在 1 ParallelThread 停留了一会儿,然后慢慢开始恢复正常结果,直到日志结束:

2016 年 7 月 12 日下午 3:49:29:在 VDI 通道上通信期间发生意外异常。 2016 年 7 月 12 日下午 3:49:29:异常信息:刷新操作期间发生不可恢复的错误 2016 年 7 月 12 日下午 3:49:29:堆栈:在 Microsoft.SqlServer.VdiInterface.VDI.AsyncIOCompletion(BlobRequestOptions 选项,List`1 asyncResults,CloudPageBlob pageBlob,布尔 onFlush) 在 Microsoft.SqlServer.VdiInterface.VDI.PerformPageDataTransfer(CloudPageBlob pageBlob,AccessCondition leaseCondition,Boolean forBackup) 2016 年 7 月 12 日下午 3:49:29:活动队列有 0 个请求,直到我们收到 clearerror 7/12/2016 3:49:29 PM:引擎通信期间发生致命错误,异常信息如下 2016 年 7 月 12 日下午 3:49:29:异常信息:刷新操作期间发生不可恢复的错误 2016 年 7 月 12 日下午 3:49:29:堆栈:在 Microsoft.SqlServer.VdiInterface.VDI.PerformPageDataTransfer(CloudPageBlob pageBlob,AccessCondition leaseCondition,Boolean forBackup) 在 BackupToUrl.Program.MainInternal(String[] args)

在任务管理器中,我可以看到 BackupToUrl.exe 消失了,但是 SQL 查询仍然执行了一段时间。 Azure 存储帐户仍将数据库显示为 1TB 大小(就像它通常在上传过程中一样)。最终 SQL 查询返回以下错误,并更新 Azure 存储帐户以删除 .bak 文件:

为数据库“”、文件 1 上的文件“”处理了 7056520 个页面。 为数据库“”处理了 3 页,文件 1 上的文件“_log”。 消息 3271,第 16 级,状态 1,第 1 行 文件“https://<removed>.blob.core.windows.net/<removed>/<removed>.bak:”上发生不可恢复的 I/O 错误,备份到 URL 收到来自远程端点的异常。异常消息:刷新操作期间发生不可恢复的错误。 消息 3013,第 16 级,状态 1,第 1 行 BACKUP DATABASE 异常终止。

有没有人知道可以做些什么来诊断和解决这个问题?

【问题讨论】:

    标签: sql-server azure sql-server-2014 database-backups


    【解决方案1】:

    原来这是由于 Azure VM 的主机在与存储帐户通信时出现 IO 错误。将 VM 重新部署到新硬件后,问题就解决了。据称这是由平台错误引起的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-18
      • 2011-10-21
      相关资源
      最近更新 更多