2013-10-04 32 views
0

我有一个SSIS包当iam试图从SP iam执行Wiered错误,但它从MSBI运行良好。SSIS包没有从存储的Proc中运行?

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. 
+0

当您从同一台服务器上的作业运行它时它工作吗? 连接是在您的软件包中的Windows身份验证? – PollusB

+0

来验证:包loadnewtables/my_package已经被部署到根/ msdb级别的存储过程 – billinkc

回答

1

明确的错误是非常不言自明的。从数据库加载软件包时,如果不使用“/ User”和“/ Password”选项,则使用Windows身份验证来加载该软件包。 因此,需要在用户和权限周围进行检查。检查Windows用户是否存在权限。

我假设你在这个数据库所在的同一台机器上。 例如,您拥有数据库服务器所在的数据库所在的包,并且您登录到本地计算机并连接到SSMS以执行此操作。这将导致尝试使用登录到本地机器的Windows登录加载包。这可能并不存在于数据库服务器上(假设您没有完全访问该服务器) 所以,为了使测试方调用SQL身份验证方法变得更简单,并查看它是如何发生的。

1

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

1

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

+0

谢谢你。这不是特定票证的错误,但是你指出的连接项目正是我所需要的! – mbourgon