SSIS包没有从存储过程运行?

时间:2013-10-04 18:22:20

标签: sql-server tsql stored-procedures ssis sql-server-2008-r2

当我尝试从SP执行时,我有一个SSIS包,因为它在MSBI上运行良好。

Sp是

EXEC @intErrCode = master..xp_cmdshell 'dtexec /sq Loadnewtables /De 99999'     

输出

but I keep getting the following error:

Could not load package "My_Package" because of error 0xC0014062.
Description: The LoadFromSQLServer method has encountered OLE DB error code 0x
004005 (Login timeout expired). The SQL statement that was issued has failed.

3 个答案:

答案 0 :(得分:1)

错误是非常明显的。从DB加载包时,如果不使用“/ User”和“/ Password”选项,则使用Windows身份验证加载该包。 因此,需要围绕用户和权限进行检查。使用正确的权限检查windows用户是否存在。

我假设您位于此DB所在的同一台计算机上。 例如,您拥有数据库服务器,该数据库与该软件包在一起,您登录到本地计算机并连接到SSMS以执行此操作。这将导致尝试使用您登录到本地计算机的Windows登录来加载程序包。数据库服务器上可能不存在(假设您没有对该服务器的完全访问权限。) 因此,使用SQL身份验证方法测试侧调用更简单,看看它是如何进行的。

答案 1 :(得分:1)

我认为存在用户/密码问题。可能是由于以下问题:   - 检查服务器上的权限。 - 检查您的身份验证模式(窗口/用户) - 尝试在本地运行。

答案 2 :(得分:1)

可能与此bug report有关 - SQL Server 2012中的SSISDB数据库中有一个sp导致程序包在开始运行之前超时。我通过DTExec从我的调度工具调用多个(超过10个)软件包时出现错误消息“由于错误0x80131904而无法执行IS服务器软件包”和“描述:操作失败,因为执行超时”。请在连接网站上投票支持该问题,以便MS可以发布官方修复。