用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > sqlserver教程

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

时间:2014-11-30  来源:互联网  作者:佚名

  1:执行另一服务器(网站服务器培训 邮件服务器培训 视讯服务器培训 )上的存储过程

  

  exec OPENDATASOURCE(

  'SQL(SQL Server培训 mySQL培训 )OLEDB',

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

  ).库名.dbo.存储过程名

  

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

  

  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 '别名','','MSDASQL',NULL,NULL,'DRIVER={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

  

  

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

  两边启动dtc

  

  set XACT_ABORT on

  set ANSI_NULL_DFLT_ON on

  set ANSI_WARNINGS on

  

  BEGIN DISTRIBUTED TRANSACTION

  select * from OPENDATASOURCE('MSDASQL','DRIVER={SQL Server};SERVER=ip;UID=sa;PWD=密码;').pubs.dbo.jobs

  commit tran

来顶一下
返回首页
返回首页
推荐资讯
从零开始学ASP.NET-基础篇第1/7页 从零开始学ASP.NET-基础篇第1/7页第一天 学习目的: 掌握最基本的Label、TextBox、Button控件
ASP.NET入门数据篇 ASP.NET入门数据篇对于网站编程的初学者来说,总是会上网找些源码来看,但久而
相关文章
栏目更新
栏目热门