我们有一个运行 700 个数据库的 SQL SERVER 2005。
我们的想法是使用 SQL SERVER 复制服务 ( http://msdn.microsoft.com/en-gb/library/ms151314(SQL.90).aspx ) 复制服务器上的所有数据库,以使两个相同的数据服务器运行同时。
我们已经实现了发布单个数据库并在其他 SQL SERVER 中订阅该数据库,但我们的问题在于我们不能在单个发布中同时发布所有数据库(我们可以在单个发布中注册任何数据库并且手动在其他服务器上订阅此发布,但我们不想每次创建或删除数据库时都这样做)。
如何在两台服务器之间自动发布和订阅所有数据库?
创建新数据库时无法自动设置复制。或者在删除数据库时让复制删除复制。
要使某些东西自动化,您需要在磁盘级别处理复制的东西。
您可以使用代码设置复制,这是我多年前参与的项目的一部分,所以我不记得细节了。但基本上我们使用 C# 中的代码设置发布者和订阅者,我认为大多数情况下它是调用服务器中的 SP 来完成它。
因此,无论您使用什么代码来设置数据库,您都应该能够在此之后添加代码来设置复制。但这需要通过创建自己的存储过程来完成,以基本上将您需要做的事情拼接在一起。