我已经创建了SSIS包来将数据从AS400移动到SQL Server,这些包每天都会被安排.sql agent中的一些包需要更长的时间才能完成9个小时。我在Business Intelligence studio中手动运行相同的包,它在不到4个小时内就完成了。由于这个问题,我的日程安排套餐没有按时竞争。请帮我解决这个问题。我无法理解为什么手动交互和计划作业之间的任务完成持续时间存在差异。 我的环境是带有SP3.sql server 2005的Windows Server 2003,请帮我解决这个问题。
答案 0 :(得分:1)
解决此问题的最佳方法是使用一些调试语句和消息来查看计划任务。例如,在SSIS包调用的存储过程中有一些insert语句。这样你就可以知道什么样的控制花费的时间比预期的多。首先尝试隔离产生差异的控件。
此外,您可以使用以下命令从命令提示符调用包: -
dtexec /f filename.dtsx
这也将在每个步骤中打印出控制台中的所有消息。
答案 1 :(得分:1)
使用包中的SSIS日志记录来登录数据库表。设置日志记录以记录任务的开始和结束。通过在BIDS中运行程序包并将其与在服务器上运行的日志记录进行比较,您将看到哪些任务花费的时间太长。有关SSIS日志记录的更多信息,请参阅http://msdn.microsoft.com/en-us/library/ms138020.aspx(在sql 2008中)
答案 2 :(得分:0)
可能是SQL服务器的功能不如客户端,或者在执行包时负载更多?
商业智能工作室使用它的CPU和RAM(我认为)在本地客户端上执行包。
答案 3 :(得分:0)
检查您正在使用的DTEXEC版本。可能是你在一个地方使用32位版本而在另一个地方使用64位。