服务器

位置:IT落伍者 >> 服务器 >> 浏览文章

SQL中两台服务器间使用连接服务器


发布日期:2018年01月29日
 
SQL中两台服务器间使用连接服务器

执行另一服务器上的存储过程

exec OPENDATASOURCE(

SQLOLEDB

Data Source=远程ip;User ID=sa;Password=密码

)库名dbo存储过程名

将资料插入另一服务器上的表中

select * into 本地库名表名 from OPENDATASOURCE(

SQLOLEDB

Data Source=远程ip;User ID=sa;Password=密码

)库名dbo表名

insert 本地库名表名 select * from OPENDATASOURCE(

SQLOLEDB

Data Source=远程ip;User ID=sa;Password=密码

)库名dbo表名

或使用联结服务器:

EXEC sp_addlinkedserver 别名MSDASQLNULLNULLDRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;

exec sp_addlinkedsrvlogin@rmtsrvname=别名@useself=false@locallogin=sa@rmtuser=sa@rmtpassword=密码

GO

(请注意上面的两步要同时运行)

然后你就可以如下

select * from 别名库名dbo表名

insert 库名dbo表名 select * from 别名库名dbo表名

select * into 库名dbo新表名 from 别名库名dbo表名

go

:如果在事务里使用连接服务器要加上分布式事务

两边启动dtc

setXACT_ABORT on

set ANSI_NULL_DFLT_ON on

set ANSI_WARNINGS on

BEGIN DISTRIBUTED TRANSACTION

select *from OPENDATASOURCE(MSDASQLDRIVER={SQL Server};SERVER=ip;UID=sa;PWD=密码;)pubsdbojobs

commit tran

上一篇:SQL Server2000服务器功能合并问题的看法

下一篇:浅谈优化SQLServer数据库服务器内存配置的策略