我正在尝试将 Sql Server 2008 数据库从生产服务器复制到开发服务器。我设置了一个新的空目标数据库,并将 Transfer Sql Server Objects 任务添加到控制流窗格。我将任务配置为使用 SMOServer 连接(两者都测试正常)。我试过复制所有对象和只复制我想要的对象。我已将其设置为首先删除目标对象,即使目标数据库中没有任何内容。
然而它拒绝工作。尽管我已经尝试打开我能找到的每个日志记录选项,但它绝对不会产生任何错误信息。我得到的只是验证阶段的成功,一系列警告说某些类的对象不存在复制(这是正确的),然后是“黄色区域”中的“挂起”(即任务框是以黄色突出显示)。
像复制数据库这样简单、直接和经常完成的事情怎么会如此困难?我究竟做错了什么?除了使用 SSIS,我的意思是:)。
ps 叹息。每一次——每一次——我都尝试使用 SSIS 来做一些应该非常简单的事情,它最终变成了一个皇家 PITA。恕我直言,这是微软对世界造成的最糟糕的开发软件之一。我希望在雷德蒙德负责它的人有一次能坐在我旁边……这样他就可以体验到相当于 10,000 个太阳的愤怒和沮丧的热度 :)。
编辑:
为了回应 Diego 的反馈,我应该提到我在源数据库所在的服务器上没有系统管理员权限。它在第 3 方托管服务上。
此外,我针对此问题的“解决方法”涉及从目标服务器上的 SqlServer Management Studio 中执行导入数据。这不是一个好的解决方法——它忽略了所有的键、触发器、存储过程等——但它至少让我的核心数据得到了理解。
但是我在那里也遇到了一个问题,因为我在源服务器上使用了“非集成安全性”,但在目标/目标服务器上使用了集成安全性。向导中没有任何内容可以指出以这种方式做事的问题,但事实证明它会导致生成的 SSIS 包失败。安全方法必须在事务的两个“端”上匹配。