执行复制数据库向导程序包时“超时已过期”

时间:2012-12-20 15:44:33

标签: sql-server ssis sql-server-2012

我全新安装了SQL Server 2012.我通过SSMS中的“复制数据库”向导从另一台服务器复制数据库,并将其另存为包。我尝试将其作为一项工作运行,但它失败并出现以下错误:

工作失败。作业由用户用户调用。最后一步是第1步(CDW_test_Step)。

我尝试使用Execute Package Utility执行包只是为了查看它是否以这种方式工作,但是出现了以下错误:

传输数据时发生错误。有关详细信息,请参阅内部异常....超时已过期。操作完成后经过的超时时间或服务器没有响应。 CREATE DATABASE失败了......

我确保程序包使用所有者的同一帐户执行。

我使用TSQL创建了一个简单的作业,而不是SSIS包,它执行得很好。

感谢任何帮助。

更新

我检查了事件日志,我看到了其中几个:

特定于应用程序的权限设置不会为具有CLSID的COM Server应用程序授予“本地激活”权限 {FDC3723D-1588-4BA3-92D4-42C430735D7D}  和APPID {83B33982-693D-4824-B42E-7196AE61BB05}  从地址LocalHost(使用LRPC)到用户NT SERVICE \ SQLSERVERAGENT SID(S-1-5-80-344959196-2060754871-2302487193-2804545603-1466107430)。可以使用组件服务管理工具修改此安全权限。

3 个答案:

答案 0 :(得分:5)

这是一个奇怪的错误,与SQL Server代理服务帐户没有Integration Services DCOM对象的权限有关。

有两种方法可以解决这个问题:

1:/以具有本地服务器管理员权限的用户身份运行SQL代理服务,管理员始终拥有DCOM权限(尽管可能不是最好的想法)

2:/

点击开始 - >然后运行键入dcomcnfg以打开组件服务工具

浏览组件服务 - >计算机 - >我的电脑 - > DCOM配置

找到Microsoft SQL Server Integration Services 11.0,右键单击它并选择属性

单击安全性选项卡,然后在“启动和激活权限”下单击“编辑”

添加NT SERVICE \ SQLSERVERAGENT并授予其本地启动和激活权限

再次尝试导入

答案 1 :(得分:3)

在咨询了解这些内容的人之后,我了解到这个问题可能是因为服务器是2个不同的版本(2008年,2012年)。

相反,我手动创建了一个DB对象(带有生成脚本),然后设置了一个运行导入的作业(通过“导入/导出数据”向导)。

..虽然使用这种方法我将不得不手动同步对象,这很痛苦(至少没有像RedGate这样的第三方软件)。

答案 2 :(得分:1)

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