【问题标题】:SSIS Package when deployed as a scheduled package is not stopping部署为计划包时的 SSIS 包不会停止
【发布时间】:2015-02-03 11:47:11
【问题描述】:

我有 3 个包,其中 2 个是我设计的,1 个是由另一个开发人员设计的。所有 3 个包都有独立的功能。

我已将所有 3 个软件包部署为计划作业(3 个独立的计划作业)。我创建的软件包作为工作正常工作。

但是其他开发者开发的包一直在循环,没有完成。这个包只将数据从一个db复制到不同的db。

我们都没有此服务器的管理员权限。所有部署的包都通过具有管理员权限的代理帐户执行。

请告诉我如何解决这个问题。

提前致谢

【问题讨论】:

  • 三个作业是否同时运行?他们是否访问数据库的相同表?
  • 不,它们以不同的时间间隔运行,并且都在不同的数据库上工作。
  • 创建一个记录包进度的表。我假设你不能做 sp_who2 或任何事情?
  • 尝试在本地运行这个包(别人开发的),看看能不能运行
  • 为什么会挂起?包有什么作用?从概念上和物理上。发布控制流、数据流和任何其他内容的屏幕截图,这些截图可能会为我们提供有关此包为何表现不同的线索。此外,我发现启用日志记录以及 OnPreExecute 和 OnPostExecute 事件至少可以帮助您确定哪些任务已经开始和完成。

标签: sql-server tsql ssis sql-agent-job


【解决方案1】:

通过这些链接可以解决您的问题:

请参考以下链接中 Jason 的回复: http://social.msdn.microsoft.com/Forums/en/sqlintegrationservices/thread/910fd7b6-56b2-4804-b4f7-2d3711d88680

这里有一篇文章讨论了 SSIS 包因运行而挂起的故障排除: http://social.technet.microsoft.com/Forums/en-US/sqlintegrationservices/thread/2cb0bec7-0fe2-4b8d-b59e-9534388c72e7

我们也可以尝试从存储过程中运行您的包。我认为它会起作用。

Create procedure [dbo].[s_ExecutePackage]
@FilePath   varchar(1000) ,

@Filename   varchar(128)

as

Declare @cmd varchar(1000)

   select @cmd =  'dtexec /F "' + @FilePath + @Filename + '"'

   exec master..xp_cmdshell @cmd

go



To call the procedure

Exec [dbo].[s_ExecutePackage]   
@FilePath = 'F:\My Documents\' ,   
@FileName = 'mypackage.dtsx' 

【讨论】:

    【解决方案2】:

    我通过代理帐户运行已部署的作业。 代理帐户用户无权访问将从其中提取数据的数据库之一。 为代理用户授予对该数据库的访问权限后,部署的包成功运行。

    感谢大家宝贵的时间和建议。

    【讨论】:

    • 这没有多大意义。包应该因错误而失败。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多