不同服务器数据库之间的数据操作

来源:互联网 发布:rpc调用 vscode 插件 编辑:程序博客网 时间:2024/06/07 16:10

 http://www.uipower.com/bbs/thread-35773-1-1.html

 

/*不同服务器数据库之间的数据操作*/

--创建链接服务器

exec sp_addlinkedserver   'ITSV','','SQLOLEDB','远程服务器名或ip地址'

exec sp_addlinkedsrvlogin  'ITSV','false',null,'用户名','密码'
--查询示例

select * from ITSV.数据库名.dbo.表名



--导入示例

select * intofrom ITSV.数据库名.dbo.表名



--以后不再使用时删除链接服务器

exec sp_dropserver  'ITSV','droplogins'



--连接远程/局域网数据(openrowset/openquery/opendatasource)

--
1、openrowset



--查询示例

select * fromopenrowset('SQLOLEDB','sql服务器名';'用户名';'密码',数据库名.dbo.表名)



--生成本地表

select * intofromopenrowset('SQLOLEDB','sql服务器名';'用户名';'密码',数据库名.dbo.表名)



--把本地表导入远程表

insert openrowset( 'SQLOLEDB ','sql服务器名';'用户名';'密码',数据库名.dbo.表名)

select *from 本地表



--更新本地表

update b

set b.列A=a.列A

from openrowset( 'SQLOLEDB ','sql服务器名';'用户名';'密码',数据库名.dbo.表名)as ainnerjoin 本地表 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
原创粉丝点击