=波波日志 > SQL及数据库 > MSSQL不同服务器之间的数据操作=

[转]MSSQL不同服务器之间的数据操作

+展开
-SQL
--创建链接服务器 
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 
--把本地表导入远程表


http://hi.baidu.com/zhiwei%5F117/blog/item/5dcdbfcfed269f30b700c84c.html
类别:SQL及数据库 作者:转载 日期:2010-04-25 【评论:0】 
 
暂时没有评论!
发表留言
  • *昵称:
  • 头像:
  • 电子邮件: [留下您的邮件,方便管理员回复您。]
  • 个人网站: *验证码:
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载或引用的作品侵犯了您的权利,请通知我们,我们会及时删除!
Powered by showbo,©2012WEB编程网桂ICP备05005887号 京公网安备1101055090