假设一台机器A 192.168.9.1 另一台机器B 192.168.9.2
两台上面数据库都一样,就是数据会差异,
现在想在查询分析器里面直接访问B机器,取一些数据插入到A里面怎么做.
比如:
insert into 库.表
select * form b.库.表
where 条件如果要实现以上的写法,
要怎么设置?
两台上面数据库都一样,就是数据会差异,
现在想在查询分析器里面直接访问B机器,取一些数据插入到A里面怎么做.
比如:
insert into 库.表
select * form b.库.表
where 条件如果要实现以上的写法,
要怎么设置?
insert into 库.表
select * form dbLink.库.表
where 条件
再用
insert into 库.表
select * form [LinkedServer].dbo.表
使用用于 SQL Server 的 Microsoft OLE DB 提供程序下面的示例创建一台名为 SEATTLESales 的链接服务器,该服务器使用用于 SQL Server 的 Microsoft OLE DB 提供程序。USE master
GO
EXEC sp_addlinkedserver
'SEATTLESales',
N'SQL Server'
GO
如果加上参数@catalog,可以指定数据库
exec sp_addlinkedsrvlogin @rmtsrvname='别名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'
2、使用SQL Server 的 Microsoft OLE DB 提供程序exec sp_addlinkedserver @server='别名',@provider='sqloledb',@srvproduct='',@datasrc='远程服务器名'
exec sp_addlinkedsrvlogin @rmtsrvname='wzb',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'然后你就可以如下:
select * from 别名.库名.dbo.表名
insert 库名.dbo.表名 select * from 别名.库名.dbo.表名
select * into 库名.dbo.新表名 from 别名.库名.dbo.表名
go例1、此示例在 SQL Server 的实例上创建一台名为 S1_instance1 的链接服务器,
该服务器使用 SQL Server 的 Microsoft OLE DB 提供程序。EXEC sp_addlinkedserver @server='S1_instance1', @srvproduct='',
@provider='SQLOLEDB', @datasrc='S1\instance1'例2、--建立链接服务器
EXEC sp_addlinkedserver 'xiaoming','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=192.168.0.1;UID=sa;PWD=123;'
--建立链接服务器登录映射
exec sp_addlinkedsrvlogin @rmtsrvname='xiaoming',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='123'
go
--查询数据
select * from xiaoming.schooladmin.dbo.agent --删除链接服务器登录映射和链接服务器:
exec sp_droplinkedsrvlogin 'xiaoming' ,'sa'
exec sp_dropserver 'xiaoming'