SSIS连接管理器-Azure SQL数据库间歇性故障

joe*_*hip 5 sql-server ssis azure azure-sql-database

我们有一个SSIS作业,可连接到Azure中的托管SQL数据库。有时,当连接管理器无法获取连接时,我们会收到错误消息。

错误消息示例:

SSIS错误代码DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。对连接管理器“ AzureCloud”的AcquireConnection方法调用失败,错误代码为0xC0202009。在此之前可能会发布错误消息,并提供有关AcquireConnection方法调用失败原因的更多信息。结束错误

OLE DB记录可用。源:“ Microsoft SQL Server本机客户端10.0”结果:0x80004005说明:“登录超时已过期”。OLE DB记录可用。源:“ Microsoft SQL Server本机客户端10.0”结果:0x80004005说明:“建立与SQL Server的连接时发生了与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。检查实例名称是否正确并如果将SQL Server配置为允许远程连接。有关更多信息,请参见SQL Server联机丛书。OLE DB记录可用。源:“ Microsoft SQL Server本机客户端10.0”结果:0x80004005说明:“命名管道提供程序:无法打开与SQL Server [53]的连接。”。结束错误错误:2017-04-28 01:03:48.00代码:0xC020801C源:复制到阶段Lookup [580]说明:SSIS错误代码DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。对连接管理器“ Cloud”的AcquireConnection方法调用失败,错误代码为0xC0202009。在此之前可能会发布错误消息,并提供有关AcquireConnection方法调用失败原因的更多信息。结束错误错误:2017-04-28 01:03:48.83代码:0xC0047017源:复制到阶段SSIS.Pipeline说明:组件“查找”(580)验证失败并返回了错误代码0xC020801C。End Error错误:2017-04-28 01:03:49.65代码:0xC004700C源:复制到阶段SSIS.Pipeline说明:一个或多个组件验证失败。结束错误错误:2017-04-28 01:03:50.50代码:0xC0024107源:复制到阶段描述:任务验证期间出现错误。结束错误DTExec:程序包执行返回DTSER_FAILURE(1)。开始:1:00:12 AM完成:1:03:50 AM经过:218.339秒。程序包执行失败。该步骤失败。,00:03:38,0,0 ,,,, 0

是否存在Azure SQL连接管理器,如果发生网络事件(例如,公共Internet上的延迟增加),可以使用连接弹性来重试获取连接吗?

谢谢!

Tar*_*lha 0

没有指定的 azure sql 连接器对暂时性错误具有更强的弹性。您需要自己实现这一点。

如果您将 ssis 包与 sql server 代理作业结合使用,则应考虑使用代理作业步骤的重试功能。

在此输入图像描述

如果您要从自定义代码启动包,请使用重试库。例如,在 c# 中,有一个名为Polly的包,它可以很好地处理重试策略。