更新三个不同服务器上的存储过程

时间:2010-02-22 15:53:41

标签: sql sql-server stored-procedures

我需要在三个不同的服务器上更新SQL SERVER存储过程。我不喜欢手动执行此操作。我有什么选择?

6 个答案:

答案 0 :(得分:3)

您可以使用SQLCMD实用程序连接到三个不同的服务器/数据库并运行存储过程脚本。控制脚本可能如下所示:

:connect server1
use DatabaseName
GO
:r StoredProcedure.sql
GO

:connect server2
use DatabaseName
GO
:r StoredProcedure.sql
GO

:connect server3
use DatabaseName
GO
:r StoredProcedure.sql
GO

SQL Compare是一个很棒的工具,特别适用于大型或复杂的更新。但是,你必须付钱。使用像SQLCMD这样的实用程序并不是那么优雅,但它很快且免费。

答案 1 :(得分:2)

使用Red-Gate SQL Compare等工具创建脚本,然后使用多脚本工具一次在多台服务器上执行。

www.red-gate.com

答案 2 :(得分:1)

您可以使用SQL Server同步工具,例如Red Gate SQL Compare 。或者您可以编写一个小脚本/应用程序来连接到每个服务器并使用 OSQL 执行更新语句。

答案 3 :(得分:0)

您可以在服务器之间设置一些复制...有1个主服务器,您可以使用其他服务器的发布将该更新发送到其他服务器。这是一个简单的方法。

答案 4 :(得分:0)

结帐Migrator.NET,这与在办理登机手续时运行的Hudson之类的构建商相结合应该可以解决问题。另外,您还可以获得版本控制和回滚功能。

答案 5 :(得分:0)

使用SQL Server 2008的“中央管理服务器”功能,您可以做的是将这三个服务器添加到一个组中,然后针对这三个服务器运行一个alter procedure脚本。