sql-server - 执行复制数据库向导包时为"Timeout expired"

标签 sql-server ssis sql-server-2012

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

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

我尝试使用执行包实用程序执行包,只是为了看看它是否能以这种方式工作,但出现以下错误:

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

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

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

感谢任何帮助。

更新:

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

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

最佳答案

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

解决此问题的两种方法:

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

2:/

单击“开始”->“运行”,然后输入 dcomcnfg 打开组件服务工具

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

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

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

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

再次尝试导入

关于sql-server - 执行复制数据库向导包时为"Timeout expired",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13975683/

相关文章:

sql server 删除重复的首字母缩略词

sql - 计算重叠日期范围的价格

c# - 如何将变量从 C# 应用程序传递到 SSIS 包

sql - 获取每个组的下一个最小值,大于或等于给定值

sql-server - 编码选项 CODEPAGE 不适用于 SQL Server 中的 OPENROWSET

ssis - 如何在平面文件连接管理器上重新配置列信息?

c# - 将查询结果传递给 SSIS 中的变量

sql - 哪些索引在索引使用情况统计表中没有条目?

sql-server - 从 SQL Server 创建 vCard 文件

sql-server - 这个支点能否更有效地完成?