5

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

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

我尝试使用 Execute Package Utility 执行包,只是想看看它是否可以这样工作,但出现以下错误:

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

我确保包正在使用所有者的相同帐户执行。

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

任何帮助表示赞赏。

更新:

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

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

4

3 回答 3

5

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

解决此问题的 2 种方法:

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

2:/

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

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

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

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

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

再次尝试导入

于 2012-12-21T11:54:43.687 回答
3

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

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

..虽然使用这种方法我必须手动保持对象同步,这很痛苦(至少没有像 RedGate 这样的第 3 方软件)。

于 2012-12-24T17:52:05.270 回答
1

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

于 2013-10-25T11:19:55.410 回答