有没有简单的方法可以同时在多个远程SQL Server数据库上运行相同的SQL脚本?

时间:2012-04-12 13:08:48

标签: sql-server-2005

我们公司有许多分支机构,每个分支机构都位于不同的国家。

因此,当我通过VPN连接更新任何国家/地区的数据库时,我需要通过vpn连接逐个更新另一个国家/地区的同一数据库。

这是非常烦人的工作......

所以我认为可以轻松地更新不同国家/地区的多个数据库。所以我正在开发一个存储过程,它将通过vpn一个接一个地连接到每个数据库,并从.sql文件中读取脚本,并通过vpn在远程数据库中执行脚本。

所以请看看我的剧本并告诉我该怎么做。

这是一个表结构,我将放置所有远程数据库详细信息。

CREATE TABLE [dbo].[DBDetails]
(
[ServerName] [varchar](max)     NULL,
[DBName] [varchar](max)         NULL,
[UserID] [varchar](max)         NULL,
[Password] [varchar](max)       NULL,
[CountryCode] [varchar](2)      NULL
) 

SET NOCOUNT ON

DECLARE DB CURSOR FOR SELECT ServerName,DBName,UserID,Password,CountryCode FROM    DBDetails 
OPEN DB
DECLARE @ServerName     varchar(MAX)
DECLARE @DBName         varchar(MAX)
DECLARE @UserID         varchar(MAX)
DECLARE @Password       varchar(MAX)
DECLARE @CountryCode    varchar(2)

FETCH NEXT FROM DB INTO @ServerName,@DBName,@UserID,@Password,@CountryCode
WHILE @@FETCH_STATUS = 0
BEGIN

-- here I need some help for opening db connection and read sql file and execute  the statement
-- Please help here 

FETCH NEXT FROM DB INTO @ServerName,@DBName,@UserID,@Password,@CountryCode
 END
 CLOSE DB
 DEALLOCATE DB

感谢

0 个答案:

没有答案