2010-09-22 103 views
2

我已经创建了SSIS包来将数据从AS400移动到每天计划安装的SQL Server。在SQL代理中的一些包需要花费更长的时间超过9个小时才能完成。商业智能工作室手动完成时间不到4个小时。由于这个问题,我的时间安排包没有及时竞争。请帮助我解决这个问题。我无法理解为什么手动交互和计划作业之间的任务完成持续时间存在差异。 我的环境是windows server 2003与SQL Server 2005 SP3.please帮我解决这个问题。Sql代理中的预定作业

回答

1

解决此问题的最佳方法是使用一些调试语句和消息来查看计划任务。例如,在SSIS包调用的存储过程中有一些插入语句。这样你就会知道什么控制比预期花费更多的时间。首先尝试隔离造成差异的控制。

另外,还可以使用命令提示来调用这个软件包: -

dtexec /f filename.dtsx 

这将在每个步骤打印出控制台中的所有的消息以及。

+0

谢谢我会尽量检查你的建议 – 2010-09-22 16:10:19

1

在包中使用SSIS日志记录来登录到数据库表。设置记录以记录任务的开始和结束。通过在BIDS中运行该软件包,并将其与在服务器上运行时的日志记录进行比较,您将看到哪些任务耗时过长。有关SSIS日志记录的更多信息,请参见http://msdn.microsoft.com/en-us/library/ms138020.aspx(在sql 2008中)

0

可能是SQL服务器不如您的客户端强大,或者在执行包时负载更多?

商业智能工作室软件包在本地客户端上执行,它的CPU和RAM(我认为)。

+1

它没有安装在客户端系统上。我正在我的生产server.same服务器中运行调度包,我用它来执行商业智能工作室中的包以及cpu和公羊 – 2010-09-22 15:19:24

+0

我不同意公羊的消费是相同的。 Cilvic说,在BIDS中执行的软件包只能在您的桌面上运行,并且只能连接到sql server才能执行sql。 – stombeur 2010-09-26 17:59:31

0

检查您使用的是什么版本的DTSEXEC。也许你在一个地方使用32位版本,在另一个地方使用64位版本。

+0

没有兄弟,它是一个32位版本,因为我的生产服务器是32位,我开发的软件包与32位版本有关。 – 2010-10-03 14:43:50