SQL不同服务器数据库之间的数据操作整理完整版.docx
- 文档编号:2449140
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:22
- 大小:48.71KB
SQL不同服务器数据库之间的数据操作整理完整版.docx
《SQL不同服务器数据库之间的数据操作整理完整版.docx》由会员分享,可在线阅读,更多相关《SQL不同服务器数据库之间的数据操作整理完整版.docx(22页珍藏版)》请在冰豆网上搜索。
SQL不同服务器数据库之间的数据操作整理完整版
SQL不同服务器数据库之间的数据操作整理(完整版)
分类:
原创与心得导入导出专题远程连接2010-06-2609:
153276人阅读评论(10)收藏举报
----------------------------------------------------------------------------------
--Author:
htl258(Tony)
--Date:
2010-06-2522:
23:
18
--Version:
MicrosoftSQLServer2008(RTM)-10.0.1600.22(IntelX86)
--Jul9200814:
43:
34
--Copyright(c)1988-2008MicrosoftCorporation
--DeveloperEditiononWindowsNT5.1
ServicePack2)
--Blog:
--Subject:
SQL不同服务器数据库之间数据操作整理
----------------------------------------------------------------------------------
--1.创建链接服务器
--1.1创建一个链接名
EXECsp_addlinkedserver'LinkName','','SQLOLEDB','远程服务器名或ip地址'--有自定义实例名还要加上"/实例名"
/*例如:
EXECsp_addlinkedserver'TonyLink','','SQLOLEDB','192.168.58.208'*/
--1.2创建登录信息(或叫创建链接服务器登录名映射)(只需选择一种方式)
--1.2.1以windows认证的方式登录
EXECsp_addlinkedsrvlogin'LinkName'--或EXECsp_addlinkedsrvlogin'LinkName','true'
/*例如:
EXECsp_addlinkedsrvlogin'TonyLink'*/
--1.2.2以SQL认证的方式登录
EXECsp_addlinkedsrvlogin'LinkName','false',NULL,'用户名','密码'
/*例如:
EXECsp_addlinkedsrvlogin'TonyLink','false',null,'sa','123'*/
--2.链接服务器相关数据操作
--2.1查询示例
SELECT*FROMLinkName.数据库名.架构名.表名
/*例如:
SELECT*FROMTonyLink.Mydb.dbo.tb*/
--2.2导入示例
SELECT*INTO表名FROMLinkName.数据库名.架构名.表名
/*例如:
SELECT*INTONewtbFROMTonyLink.Mydb.dbo.tb*/
--2.3更新示例
UPDATELinkName.数据库名.架构名.表名SET字段='值'WHERE字段='条件'
/*例如:
UPDATETonyLink.Mydb.dbo.tbSETPersons='g'WHEREPersons='a'*/
--2.4删除示例
DELETELinkName.数据库名.架构名.表名WHERE字段名='条件'
/*例如:
DELETETonyLink.Mydb.dbo.tbWHEREPersons='g'*/
--3.通过行集函数(OPENQUERY/OPENROWSET/OPENDATASOURCE)操作方法
--3.1OPENQUERY方法(需要借助刚创建的链接服务器):
--3.1.1查询示例
SELECT*FROMOPENQUERY(LinkName,'SELECT*FROM数据库名.架构名.表名')
/*例如:
SELECT*FROMOPENQUERY(TonyLink,'SELECT*FROMMydb.dbo.tb')*/
--3.1.2导入示例
--3.1.2.1导入所有列
INSERTOPENQUERY(LinkName,'SELECT*FROM数据库名.架构名.表名')SELECT*FROM本地表
/*例如:
INSERTOPENQUERY(TonyLink,'SELECT*FROMMydb.dbo.tb')SELECT*FROMtb*/
--3.1.2.2导入指定列
INSERTOPENQUERY(LinkName,'SELECT*FROM数据库名.架构名.表名')(列,列...)
SELECT列,列...FROM本地表
/*例如:
INSERTOPENQUERY(TonyLink,'SELECT*FROMMydb.dbo.tb')(RANGE,LEVEL,Persons)
SELECTRANGE,LEVEL,PersonsFROMtb
*/
--3.1.3更新示例
UPDATEOPENQUERY(LinkName,'SELECT*FROM数据库名.架构名.表名')SET字段='值'WHERE字段='条件'
/*例如:
UPDATEOPENQUERY(TonyLink,'SELECT*FROMMydb.dbo.tb')SETPersons='g'WHEREPersons='a'*/
--3.1.4删除示例
DELETEOPENQUERY(LinkName,'SELECT*FROM数据库名.架构名.表名')WHERE字段名='条件'
/*例如:
DELETEOPENQUERY(TonyLink,'SELECT*FROMMydb.dbo.tb')WHEREPersons='g'*/
--3.2OPENROWSET方法(不需要用到创建好的链接名。
如果连接的实例名不是默认的,需要在"sql服务器名或IP地址"后加上"/实例名")
--3.2.1查询示例
--3.2.1.1Windows认证方式查询(以下方法之一即可)
SELECT*FROMOPENROWSET('SQLOLEDB','server=sql服务器名或IP地址;Trusted_Connection=yes',数据库名.架构名.表名)
SELECT*FROMOPENROWSET('SQLNCLI','server=sql服务器名或IP地址;Trusted_Connection=yes',数据库名.架构名.表名)
SELECT*FROMOPENROWSET('SQLOLEDB','server=sql服务器名或IP地址;Trusted_Connection=yes','SELECT*FROM数据库名.架构名.表名')
SELECT*FROMOPENROWSET('SQLNCLI','server=sql服务器名或IP地址;Trusted_Connection=yes','SELECT*FROM数据库名.架构名.表名')
/*例如:
SELECT*FROMOPENROWSET('SQLOLEDB','Server=192.168.58.208;Trusted_Connection=yes',Mydb.dbo.tb)
或:
SELECT*FROMOPENROWSET('SQLNCLI','Server=192.168.58.208;Trusted_Connection=yes',Mydb.dbo.tb)
或:
SELECT*FROMOPENROWSET('SQLOLEDB','Server=192.168.58.208;Trusted_Connection=yes','SELECT*FROMMydb.dbo.tb')
或:
SELECT*FROMOPENROWSET('SQLNCLI','Server=192.168.58.208;Trusted_Connection=yes','SELECT*FROMMydb.dbo.tb')
*/
--3.2.1.2SQL认证方式查询(以下方法之一即可)
SELECT*FROMOPENROWSET('SQLOLEDB','server=sql服务器名或IP地址;uid=用户名;pwd=密码',数据库名.架构名.表名)
SELECT*FROMOPENROWSET('SQLNCLI','server=sql服务器名或IP地址;uid=用户名;pwd=密码',数据库名.架构名.表名)
SELECT*FROMOPENROWSET('SQLOLEDB','server=sql服务器名或IP地址;uid=用户名;pwd=密码','SELECT*FROM数据库名.架构名.表名')
SELECT*FROMOPENROWSET('SQLNCLI','server=sql服务器名或IP地址;uid=用户名;pwd=密码','SELECT*FROM数据库名.架构名.表名')
SELECT*FROMOPENROWSET('SQLOLEDB','sql服务器名';'用户名';'密码',数据库名.架构名.表名)
SELECT*FROMOPENROWSET('SQLNCLI','sql服务器名';'用户名';'密码',数据库名.架构名.表名)
SELECT*FROMOPENROWSET('SQLOLEDB','sql服务器名';'用户名';'密码','SELECT*FROM数据库名.架构名.表名')
SELECT*FROMOPENROWSET('SQLNCLI','sql服务器名';'用户名';'密码','SELECT*FROM数据库名.架构名.表名')
/*例如:
SELECT*FROMOPENROWSET('SQLOLEDB','server=192.168.58.208;uid=sa;pwd=123',mydb.dbo.tb)
或:
SELECT*FROMOPENROWSET('SQLNCLI','server=192.168.58.208;uid=sa;pwd=123',mydb.dbo.tb)
或:
SELECT*FROMOPENROWSET('SQLOLEDB','server=192.168.58.208;uid=sa;pwd=123','SELECT*FROMMydb.dbo.tb')
或:
SELECT*FROMOPENROWSET('SQLNCLI','server=192.168.58.208;uid=sa;pwd=123','SELECT*FROMMydb.dbo.tb')
或:
SELECT*FROMOPENROWSET('SQLOLEDB','192.168.58.208';'sa';'123',mydb.dbo.tb)
或:
SELECT*FROMOPENROWSET('SQLNCLI','192.168.58.208';'sa';'123',mydb.dbo.tb)
或:
SELECT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 不同 服务器 数据库 之间 数据 操作 整理 完整版