SQL ServeR语言 执行复制数据库向导包时"Timeout expired"



我有一个新安装的SQL Server 2012。我使用SSMS中的Copy Database向导从不同的服务器复制一个数据库,并将其保存为一个包。我尝试将其作为作业运行,但失败了,出现以下错误:

作业失败。作业由用户用户调用。最后一个要运行的步骤是步骤1 (CDW_test_Step)。

我试着用执行包实用程序执行包,看看它是否以这种方式工作,但得到以下错误:

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

我确定包是用所有者的相同帐户执行的。

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

任何帮助都是感激的。

更新:

我检查了事件日志,我看到了这些:

特定于应用程序的权限设置不授予具有CLSID的COM Server应用程序的本地激活权限{fdc3723d - 1588 - 4 - ba3 - 92 - d4 - 42 - c430735d7d}和APPID{83 b33982 - 693 d - 4824 b42e - 7196 ae61bb05}从LocalHost地址(使用LRPC)发送到NT SERVICESQLSERVERAGENT SID (S-1-5-80-344959196-2060754871-2302487193-2804545603-1466107430)。此安全权限可以使用组件服务管理工具进行修改。

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

有两种方法:

1:/在本地服务器上以具有管理员权限的用户运行SQL Agent服务,管理员总是具有DCOM权限(可能不是最好的主意,但只是为了这个)

2:/

单击Start -> Run然后输入dcomcnfg打开组件服务工具

导航组件服务->计算机->我的计算机-> DCOM配置

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

单击安全选项卡,在"启动和激活权限"下单击编辑

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

重试

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

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

. .尽管使用这种方法,我必须手动保持对象同步,这是一个痛苦的过程(至少没有第三方软件,如RedGate)。

查看这个错误报告- SQL Server 2012的SSISDB数据库中有一个sp导致包在开始运行之前超时。当通过DTExec从我的调度工具调用多个(超过10个)包时,我有错误消息"由于错误0x80131904,无法执行IS服务器包"one_answers"描述:由于执行超时,操作失败"。请在connect网站上为这个问题投票,这样微软就可以发布一个正式的修复程序。

最新更新