将SQL Server存储过程部署到多个服务器

时间:2011-09-24 03:27:07

标签: sql-server-2005 sql-server-2008 sql-server-2000

我管理了几个SQL Server 2000,2005和2008;我以日常活动的存储过程和函数的形式维护了几个脚本;在需要时我会对这些脚本的本地副本进行更改,然后我需要将这些更改应用于每个数据库服务器上的相同存储过程和函数;连接到每个数据库服务器并替换其中的内容是耗时且痛苦的。

我一直在尝试使用带有选项-i的sqlcmd实用程序,但它运行不正常;它不断出错。

我可以用一种方法或工具将本地存储过程和函数部署到多个sql服务器吗?

存储过程和函数具有此结构

use dba
go

check if stored procedure or function exists 
   if so, drop it

create stored procedure or function

1 个答案:

答案 0 :(得分:1)

对于SSMS 2008:

解决方案1(使用*): 您可以使用SQL Server Management Studio:

  1. 打开Registered Servers面板。
  2. Local Server Groups中添加新节点(例如Production servers
  3. 在此节点中,您可以注册每个SQL服务器实例(例如(local)KDD...)。
  4. 点击New Query
  5. 修改查询。
  6. 执行查询。
  7. enter image description here

    解决方案2(已测试): 您可以:Connect server_name[\instance_name] [-l timeout] [-U user_name [-P password]]使用:Connectsqlcmd Tools > Options > Query Results > SQL Server > Multiserver Results命令)。

    解决方案3(未使用和未经测试): sqlcmd utility& Central Management Servers

    有关多台服务器的SSMS选项:{{1}}。

    *用于多服务器查询。