关于两台服务器之间SQL数据互访
来源:互联网 发布:查询火车票真伪的软件 编辑:程序博客网 时间:2024/06/05 01:16
方法一
--创建链接服务器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 '
--查询示例
select * from ITSV.数据库名.dbo.表名
--导入示例
select * into 表 from ITSV.数据库名.dbo.表名
--以后不再使用时删除链接服务器
exec sp_dropserver 'ITSV ', 'droplogins '
--连接远程/局域网数据(openrowset/openquery/opendatasource)
--1、openrowset
--查询示例
select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
--生成本地表
select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
--把本地表导入远程表
insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
select *from 本地表
--更新本地表
update b
set b.列A=a.列A
from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a inner join 本地表 b
on a.column1=b.column1
--openquery用法需要创建一个连接
--首先创建一个连接创建链接服务器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
--查询
select *
FROM openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ')
--把本地表导入远程表
insert openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ')
select * from 本地表
--更新本地表
update b
set b.列B=a.列B
FROM openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ') as a
inner join 本地表 b on a.列A=b.列A
--3、opendatasource/openrowset
SELECT *
FROM opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ' ).test.dbo.roy_ta
--把本地表导入远程表
insert opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ').数据库.dbo.表名
select * from 本地表
方法二:
-- 在192.168.1.1的查询分析器中执行
declare @linksrv varchar(20),@actsrv varchar(20),@actdb varchar(20),@code varchar(8)
select @linksrv = '[192.168.1.2]',@actsrv = '192.168.1.2'
if exists (select 1 from master..sysservers where srvname=@linksrv)
begin
exec sp_droplinkedsrvlogin @linksrv, null
exec sp_dropserver @server=@linksrv
end
exec sp_addlinkedserver @server=@linksrv, @srvproduct='', @provider='SQLOLEDB', @datasrc=@actsrv, @catalog=null
exec sp_addlinkedsrvlogin @linksrv, 'false', null, 'sa', 'yourpassword' -- 192.168.1.2上的数据库的sa密码
go
set ansi_nulls on
set ansi_warnings on
go
select * from [192.168.1.2].数据库名.dbo.表名
go
-- 在192.168.1.2的查询分析器中执行
declare @linksrv varchar(20),@actsrv varchar(20),@actdb varchar(20),@code varchar(8)
select @linksrv = '[192.168.1.1]',@actsrv = '192.168.1.1'
if exists (select 1 from master..sysservers where srvname=@linksrv)
begin
exec sp_droplinkedsrvlogin @linksrv, null
exec sp_dropserver @server=@linksrv
end
exec sp_addlinkedserver @server=@linksrv, @srvproduct='', @provider='SQLOLEDB', @datasrc=@actsrv, @catalog=null
exec sp_addlinkedsrvlogin @linksrv, 'false', null, 'sa', 'yourpassword' -- 192.168.1.1上的数据库的sa密码
go
set ansi_nulls on
set ansi_warnings on
go
select * from [192.168.1.1].数据库名.dbo.表名
- 关于两台服务器之间SQL数据互访
- 两台服务器之间建立dblink的SQL写法
- 两台linux服务器之间如何拷贝数据
- linux scp-两台服务器之间传输数据的命令
- 多台sql server 服务器之间数据的同步(转载)
- 在两台服务器之间建立视图
- 测试两台服务器之间的网络带宽
- 两台 linux 服务器 之间mount
- 两台服务器之间的自动备份
- 两台linux服务器之间传输文件
- 两台服务器上两个数据库结构不同的表之间数据复制解决办法!!!
- 两台服务器上两个数据库结构不同的表之间数据复制解决办法!!! .
- 如何利用rsync同步两台服务器 (redhat 7.0版本) 之间的数据?
- 两台SQL Server服务器同步问题.
- 两台SQL Server服务器同步问题
- 两台SQL服务器同步事务处理。
- 触发器实现两台服务器数据同步
- 两台服务器同步数据 rsync
- 基金申请英文名翻译
- ubuntu配置jdk7.0过程
- Android 屏幕设置
- sql outer join
- IE浏览器不能上网原因及解决方案
- 关于两台服务器之间SQL数据互访
- Android 下载文件 显示进度条
- C#自动换行公共类--字符串处理
- 20佳优秀精美手机移动mobile网站案例设计欣赏
- Linux 最基本命令
- 计算机网路各层的可靠性
- ASP.NET中个文件夹功能
- poj 3041(直接逃了模板)
- 格言(一)