SSIS 在本地运行但在服务器上失败

Posted

技术标签:

【中文标题】SSIS 在本地运行但在服务器上失败【英文标题】:SSIS Runs on Local but fails on Server 【发布时间】:2018-05-16 18:16:44 【问题描述】:

我构建了一个 SSIS 包,它从多个服务器中提取数据并写入 ssis 所在的主服务器。

我在本地构建它,当我右键单击解决方案中的包并执行时它会运行,但是当我将 dtsx 部署到服务器时,包失败。

在服务器上,它成功执行在主服务器上运行的所有任务,但在需要连接到远程服务器以读取数据的所有任务上失败。

我正在使用 cmd 调用包: SELECT @Cmd = 'DTexec /FILE "' + @Path + 'Package.dtsx" /MAXCONCURRENT 1 /CHECKPOINTING OFF /REPORTING EW'

EXEC @ReturnCode = xp_cmdshell @Cmd

我遇到的错误如下:

列表项说明:SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x80004005。

一个 OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 11.0” Hresult:0x80004005 描述:“登录超时已过期”。

一个 OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 11.0” Hresult:0x80004005 描述:“在建立与 SQL Server 的连接时发生网络相关或特定于实例的错误。未找到或无法访问服务器。检查实例名称是否正确和如果 SQL Server 配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。"。

一个 OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 11.0”Hresult:0x80004005 描述:“命名管道提供程序:无法打开与 SQL Server [53] 的连接。”。

【问题讨论】:

【参考方案1】:

其中一种可能是防火墙阻止了 SQLServer 的 IP 地址。

【讨论】:

这是防火墙问题,现已解决。谢谢【参考方案2】:

听起来你有多个问题。但是,这可能有助于解决登录超时问题(如果它们都与登录问题有关,则可能还有其他问题):

EXEC sp_configure 'Remote Login Timeout', 120 ;  
GO  
RECONFIGURE ;  
GO  

【讨论】:

感谢您的信息。毕竟是防火墙问题。

以上是关于SSIS 在本地运行但在服务器上失败的主要内容,如果未能解决你的问题,请参考以下文章

SSIS 包在 Visual Studio 和命令行中有效,但在代理中无效

SQL Server作业失败 - 帐户被锁定

CDO 在端口 465 和 587 上连接失败,但在 25 上工作

使用 ssis 包导入 excel 到 sql server 失败

IOS 推送通知在本地有效,但在 bluehost 上无效

在 jenkins 上测试失败但在本地运行