资源描述:
《sql不同服务器数据库之间的数据操作整理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、SQL不同服务器数据库之间的数据操作整理(完整版)--1. 创建链接服务器--1.1 创建一个链接名EXEC sp_addlinkedserver 'LinkName','','SQLOLEDB','远程服务器名或ip地址' --有自定义实例名还要加上"/实例名" /*例如:EXECsp_addlinkedserver'TonyLink','','SQLOLEDB','192.168.58.208'*/ --1.2 创建登录信息(或叫创建链接服务器登录名映射)(只需选择一种方式)--1.2.1 以windows认证的方式登录EXEC sp_addlinkedsrvlogin '
2、LinkName' --或EXECsp_addlinkedsrvlogin'LinkName','true' /*例如:EXECsp_addlinkedsrvlogin'TonyLink' */ --1.2.2 以SQL认证的方式登录 EXEC sp_addlinkedsrvlogin 'LinkName','false',NULL,'用户名','密码' /*例如:EXECsp_addlinkedsrvlogin'TonyLink','
3、false',null,'sa','123'*/ --2. 链接服务器相关数据操作--2.1 查询示例SELECT * FROM LinkName.数据库名.架构名.表名 /*例如:SELECT*FROMTonyLink.Mydb.dbo.tb*/--2.2 导入示例SELECT * INTO 表名 FROM LinkName.数据库名.架构名.表名 /*例如:SELECT*INTONewtbFROMTonyLink.Mydb.dbo.tb*/--2.3 更新示例UPDATE LinkName.数据库名.架构名.表名 SET 字段='值' WHERE 字段='条件'
4、/*例如:UPDATETonyLink.Mydb.dbo.tbSETPersons='g'WHEREPersons='a'*/--2.4 删除示例DELETE LinkName.数据库名.架构名.表名 WHERE 字段名='条件' /*例如:DELETETonyLink.Mydb.dbo.tbWHEREPersons='g'*/ --3. 通过行集函数(OPENQUERY/OPENROWSET/OPENDATASOURCE)操作方法--3.1OPENQUERY 方法(需要借助刚创建的链接服务器):--3.1.1 查询示例SELECT * FROM OPENQUERY(LinkNa
5、me,'SELECT*FROM 数据库名.架构名.表名') /* 例如:SELECT*FROMOPENQUERY(TonyLink,'SELECT*FROMMydb.dbo.tb') */--3.1.2 导入示例--3.1.2.1 导入所有列INSERT OPENQUERY(LinkName, 'SELECT* FROM 数据库名.架构名.表名') SELECT * FROM 本地表 /* 例如:INSERTOPENQUERY(TonyLink,'SELECT* FROMMydb.dbo.tb')SELECT*FROMtb*/--3.1.2.2 导入指定列INSERT
6、 OPENQUERY(LinkName, 'SELECT* FROM 数据库名.架构名.表名') (列,列...) SELECT 列,列... FROM 本地表 /* 例如:INSERTOPENQUERY(TonyLink,'SELECT* FROMMydb.dbo.tb')(RANGE,LEVEL,Persons) SELECTRANGE,LEVEL,PersonsFROMtb */--3.1.3 更新示例UPDATE OPENQUERY(LinkName, 'SELECT*FROM 数据库名.架构名.表名') SET 字段='值' WHE
7、RE 字段='条件' /*例如:UPDATEOPENQUERY(TonyLink,'SELECT*FROMMydb.dbo.tb') SETPersons='g'WHEREPersons='a'*/--3.1.4 删除示例DELETE OPENQUERY(LinkName, 'SELECT*FROM 数据库名.架构名.表名') WHERE 字段名='条件' /*例如:DELETEOPENQUERY(TonyLink,'SELEC