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

服务器

 

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

exec OPENDATASOURCE(
         'SQLOLEDB',
         '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
 

时间: 2025-01-01 20:58:07

SQL中两台服务器间使用连接服务器的相关文章

求助:vmware中两台linux无法相互通信

问题描述 求助:vmware中两台linux无法相互通信 物理机有两块网卡,ip地址分别是:192.168.1.103.192.168.126.10.其中一台linuxA的网络设置采用vmnet8,ip:192.168.126.100.另一台LinuxB使用的是桥接,ip:192.168.1.121.现在linuxA能ping通linuxB,反过来linuxB无法ping通LinuxA,这是什么原因? 两台linux的防火墙均以关闭,且可以正常访问互联网,都能ping通物理机. 解决方案 win

图片-如何用dos命令进行局域网中两台电脑的聊天

问题描述 如何用dos命令进行局域网中两台电脑的聊天 按照网上的net send 命令总是显示这个问题 解决方案 win7等已经没有这个命令了,这个是2000,nt系统下的.

vmware 中两台linux虚拟机如何使用主机名互ping?

问题描述 vmware 中两台linux虚拟机如何使用主机名互ping? vmware 中两台linux虚拟机如何使用主机名互ping? 解决方案 你把网络设置好了没. 参考 http://www.cnblogs.com/tonyY/p/4780677.html 设置好ip 就可以. 解决方案二: 设置bridge等模式 这样两台虚拟机器都在一个子网 就可以ping了 解决方案三: 两台机器分别将对方的IP和主机名添加到/etc/hosts文件中.再执行source /etc/hosts命令让配

请教一下广域网中两台PC通信的问题。

问题描述 我们这个小单位不是软件公司,软件开发除了本人略知皮毛外,其他人都不懂.为了满足一个客户的需求,昨天领导突发奇想,说要通过3G上网卡,让两台PC进行类似局域网的通信运算.具体情况如下:一台PC通过标签打印机打印二维码,将条码信息通过广域网传到远端另一台PC的数据库中.本人对计算机网络一知半解,感觉头有点大.首先两台PC的IP都不是固定的.需要构建网络服务器吗?构建服务器步骤是什么?如果不用服务器,只用静态IP能否实现?这种广域网点对点传输数据,用底层的Socket流传输是不是不稳定也不安

连接不上服务器-android项目连接服务器连不上。

问题描述 android项目连接服务器连不上. 我的项目连接服务器时,没有报错但就是不能将数据传过去.权限也加了,路径在浏览器上也ok.就是连不上啊.求大神指教. 解决方案 一步步用Log打印看看,到底哪里不对 解决方案二: 你ping一下服务器,看看能访问吗 解决方案三: 你先用浏览器,调试 是否可以发送数据,排除服务器不能接收问题,其次在调试客户端.调试客户端,先做连接测试,其次在发数据,实在不行, 简化排除法,服务器端写最简单接收返回程序,不要加权限等外在因素.如何可以访问,证明是权限之类

sql 中两个条件 问题

问题描述 我现在有一个表查询, 要用两个字段来都符合条件 来查询结果SELECT *FROM ordersWHERE quantity =1 AND customer = 'Tizag'现在遇到的问题是现在我们有一组的的数据 要查询 最简单的做法是Java里写一个循环是for(int i=0;i<listA.size();i++){SELECT *FROM ordersWHERE (quantity =listA.get(0) AND customer = listB.get(0))}然后一条一

局域网中两台数据库之间操作数据

问题描述 有2台服务器,A,B.数据库DB1在A上,数据库DB2在B上.TABLE1在DB1上,TABLE2在DB2上.TABLE1字段:a,b,c,d,eTABLE2字段:a,b,c,dsum,esum我要写一个sqlserver的作业,实现以下功能:定时每天晚上9点将TABLE1中d,e按照a,b字段分类累加起来,存入TABLE2的对应字段中,怎么实现,尽量详细点,谢谢 问题补充:来个人帮帮忙,急求 解决方案 这个可以在程序中做,比如quartz定时任务就行解决方案二:使用quartz cr

sql 中两个select 语句

问题描述 我需要对多个表进行查询,并且写成存储过程,中间有一部分是有N个SELECT语句,要利用语句来把他们联合起来,但没有做过相关方面的东西,希望高手给点建议和经验!很急的!!!!! 解决方案 解决方案二:用selectcol..fromtableunionselectcol..fromtable列数相同解决方案三:我看你具体情况了.内联接,左联接,右联接解决方案四:太抽象了,不好回答解决方案五:如果列相同用selectcol1,col2...fromtable1unionallselectc

两台服务器用XML 连接数据啊

如果自己有两台服务器,如何将这两台服务器上的access数据库数据的互访.今天作了个远程的接口,以xml形式返回mdb中的数据.用的主要思想是通过recordset对象的save方法将数据填充到一个xml dom里,但是,这种方法产生的XML不够简洁,自动产生的XML包含了schema信息,它描述这个XML里允许有什么节点和属性以及采用何种数据类型,而且数据节点也增加了名称空间.schema信息在需要数据验证的地方或进行更复杂的处理或许很有用,但是,大多数情况下,我们使用的是瘦客户机,我们不需要