我全新安装了 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/