【问题标题】:SSIS Package is not running from stored Proc?SSIS 包没有从存储的 Proc 运行?
【发布时间】:2013-10-11 20:43:33
【问题描述】:

当我尝试从 SP 执行时,我有一个 SSIS 包,我遇到了 wiered 错误,但它从 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.

【问题讨论】:

  • 从同一台服务器上的作业运行它是否有效?您的包中的连接是 Windows Auth 吗?
  • 验证:包 loadnewtables/my_package 已经部署到与 root/msdb 级别的存储过程相同的服务器

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


【解决方案1】:

嗯,错误是不言自明的。当您从 DB 加载包并且不使用“/User”和“/Password”选项时,Windows 身份验证用于加载该包。 因此,需要围绕用户和权限进行检查。检查 windows 用户是否存在并具有正确的权限。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 感谢您。这不是这张特定票的错误,但您指向的连接项正是我需要的!
      猜你喜欢
      • 2011-05-22
      • 2013-07-01
      • 2010-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-21
      • 1970-01-01
      相关资源
      最近更新 更多