如何比较迁移中的两个 SQL Server 实例级对象?

Kha*_*uez 5 sql-server migration scripting

我目前正在进行 SQL Server 迁移(从 SQL Server 2005 到 2008 R2 服务器,在新的物理服务器上)。

数据库本身将使用数据库备份和恢复脚本进行传输。我已经测试过了,它工作正常,没有问题。

我担心的是所有其他实例/系统对象,例如登录、SQL 代理作业。这些已从源服务器编写并重新应用到新服务器上,恐怕我已经忘记了一些。我可以明显地直观地比较使用SQL Management Studio,这就是我所做的,但它既耗时又容易出错。因此,在及时拔掉现有服务器的插头之前,我更希望有一种更“科学”的方法来确认一切都在那里......

我一直在寻找进行这种比较的软件,但只找到了模式或数据比较工具。我想我可以比较 sys.sql_logins 和 msdb.dbo.sysjobs 等系统表,但我不知道它们全部。

简而言之,有没有一种方法可以快速比较两个服务器的实例级对象,如果可能的话,还可以比较它们的内容,而不仅仅是通过名称?

谢谢。

mhe*_*all -1

我相信,如果您将系统数据库转移到新实例,您将保留您所引用的系统级对象。这篇 MSDN 文章应该有所帮助(根据此处发布的类似问题的建议):http://msdn.microsoft.com/en-us/library/ms345408.aspx

还有一篇关于在实例之间传输登录名的文章:http://support.microsoft.com/kb/918992

  • 谢谢,但我了解到迁移系统数据库并不是最佳实践,尤其是对于像我这样的不同 SQL Server 版本(2005 -> 2008 R2)。 (2认同)