![在 SQL SERVER 2005 中复制所有数据库](https://linux22.com/image/492367/%E5%9C%A8%20SQL%20SERVER%202005%20%E4%B8%AD%E5%A4%8D%E5%88%B6%E6%89%80%E6%9C%89%E6%95%B0%E6%8D%AE%E5%BA%93.png)
我们有一个运行着 700 个数据库的 SQL SERVER 2005。
我们的想法是使用 SQL SERVER 复制服务复制服务器上的所有数据库(http://msdn.microsoft.com/en-gb/library/ms151314(SQL.90).aspx)来使两个相同的数据服务器同时运行。
我们已经实现了发布单个数据库并在其他 SQL SERVER 中订阅该数据库,但是我们的问题在于我们无法在单个发布中同时发布所有数据库(我们可以在单个发布中注册任何数据库,并在其他服务器中手动订阅该发布,但我们不想在每次创建或删除数据库时都这样做)。
如何在两台服务器之间自动发布和订阅所有数据库?
答案1
您可以使用代码设置复制,这是我几年前参与的一个项目的一部分,所以我记不清细节了。但基本上我们使用 C# 代码设置发布者和订阅者,我认为大部分都是调用服务器中的 SP 来完成的。
因此,无论您使用什么代码来设置数据库,您都应该能够在之后添加代码来设置复制。但这需要通过创建您自己的存储过程来完成,以便将您需要做的事情基本上拼接在一起。
答案2
创建新数据库时无法自动设置复制。或者删除数据库时删除复制。
为了实现自动化,您需要某种东西来处理磁盘级别的复制。