sqlserver垮库查询_SQLServer跨库查询--分布式查询
--用openrowset连接远程SQL或插入数据
--如果只是临时访问,可以直接用openrowset
--查询示例
select * from openrowset('SQLOLEDB'
,'sql服务器名';'用户名';'密码'
,数据库名.dbo.表名)
在跨库查询时需要启用Ad Hoc Distributed Queries
启用Ad Hoc Distributed Queries:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
使用完成后,关闭Ad Hoc Distributed Queries:
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
--导入示例
select * into 表 from openrowset('SQLOLEDB'
,'sql服务器名';'用户名';'密码'
,数据库名.dbo.表名)
--创建链接服务器
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','远程服务器名或ip地址'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
go
--查询示例
select * from srv_lnk.数据库名.dbo.表名
--导入示例
select * into 表 from srv_lnk.数据库名.dbo.表名
--以后不再使用时删除链接服务器
exec sp_dropserver 'srv_lnk','droplogins'
go
--下面的示例访问来自某个表的数据,该表在 SQL Server 的另一个实例中。
SELECT *FROM OPENDATASOURCE('SQLOLEDB','Data Source=ServerName;User ID=MyUID;Password=MyPass').Northwind.dbo.Categories
--下面是个查询的示例,它通过用于 Jet 的 OLE DB 提供程序查询 Excel 电子表格。
SELECT *FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:Financeaccount.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
复制代码
例如:
SELECT *
FROM OPENQUERY(Far_MDB, 'SELECT * FROM MDB_Member')
这就是从我的链接服务器当中去查询MDB_Member表的数据
备注:
1、关于链接服务器的详细情况请参阅联机丛书中的sp_addlinkedserver、 sp_addlinkedsrvlogin、sp_addserver、sp_dropserver、sp_serveroption、sp_linkedservers等系统级存储过程。
2、关于此链接服务器的创建及其使用在不同环境下(全部内网服务器、一内网一公网服务器、全公网服务器)测试,均告通过。
3、有时候在存储过程中访问链接服务器的时候可能会碰到如下的提示,必须要对ANSI warning 和ANSI nulls进行设置,这时候按照如下的方法进行设置:
设置本地数据库的属性-->连接-->选上ANSI warning 和 ANSI nulls
如何用sql语句进行跨库查询
在机器B上的数据库database2中创建一个临时表#tmp,
内容就是机器A上的数据库database1里面的Table1。
如何用sql语句完成?(不借用dts等)
SQL code --创建链接服务器
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 本地表
用 链接服务器
OPENROWSET
OPENDATASOURCE
都可以
链接服务器.database1.dbo.table1
链接服务器.database1.dbo.table1
SQL code
select * into #
from openrowset('sqloledb','ip';'sa';'','select * from pubs.dbo.jobs')
sqlserver垮库查询_SQLServer跨库查询--分布式查询相关推荐
- sqlserver垮库查询_sql跨库查询(sqlserver跨库查询)
sql跨库查询(sqlserver跨库查询) 2020-07-24 11:56:42 共10个回答 首先你的要求不明确..要是按照你的要求的话以下语句就可以解决了跨库中只要用.来表示就可以了db.ta ...
- mysql跨库分页查询_跨库跨表分页
前言 之前经常思考的一个问题,数据库分表后,分页怎么做才是最好的方案呢?今天就来整理一波. 由来 首先是由来,数据量增大,一张表数据太多的话,会使用分表.同理,一个数据库实例到达瓶颈,所以可能需要分库 ...
- mysql 跨库插入_sql 跨库和域插入数据库
sql 跨库和域插入数据库 ; SELECT * INTO [order] FROM OPENROWSET ( 'SQLOLEDB ', '域名'; '用户名'; '密码',数据库名称.表名) 直接执 ...
- mysql 索引碎片查询_Sqlserver:索引碎片的查询
索引 碎片 : 内部 碎片 (或说叶级填充率):反映数据叶级的空间占用率或空闲率 外部 碎片 :由于sqlserver以连续的8个page作为一个数据库块(区)extent作为读取单位,故此由于物理存 ...
- 计组之总线:2、总线仲裁(链式查询、计数器查询、独立请求、分布式查询)
2.总线仲裁 思维导图 什么是总线仲裁? 仲裁方式 1.集中仲裁方式 链式查询方式 计数器查询方式 独立请求方式 2.分布仲裁方式 思维导图 什么是总线仲裁? 仲裁方式 1.集中仲裁方式 链式查询方式 ...
- SQL注入—跨库注入
SQL注入-跨库注入 1.SQL注入-跨库注入 1.1.前言 1.2.跨库注入介绍 2.跨库注入 2.1.跨库注入准备 2.2.跨库注入流程 2.2.1.判断是否为管理员权限 2.2.2.获取数据库下 ...
- 什么是知网的跨库检索?为什么我的文章在知网检索不到了?
最近,很多作者都在问这样一个问题:我之前发的文章,以前还能再知网查到,为什么现在查不到了? 不止一个作者有这样的问题,今天我们统一解答一下: 首先,遇到这种情况不要慌张.文章最开始的时候还能检索,说明 ...
- mysql不同服务器查询_实战操作SQL Server连接查询不同服务器表数据
今日产品部要导批数据,但是需要连接查询查询的几个表不在同一服务器上.所以我开始是这么干的: 1.查询一台服务器的数据,并导入本地Excel 2.查询另一台服务器的数据,并导入本地Excel 3.Exc ...
- Hazelcast IMDG参考中文版手册-第十一章-分布式查询
分布式查询访问存储在相同或不同成员上的多个数据源的数据. Hazelcast对您的数据进行分区,并将其分布到成员集群中.您可以迭代映射条目并查找您感兴趣的某些条目(由谓词指定).但是,这不是非常有效, ...
最新文章
- PyTorch 高级实战教程:基于 BI-LSTM CRF 实现命名实体识别和中文分词
- Java项目:农业计算工具(java+swing)
- platform_driver_register适配的两种方式及probe是否启动与硬件关系
- SEAndroid策略介绍1
- php 方法求 的近似值,PHP中的等角近似
- 从性能角度选购Adroid智能手机,双核、大屏与游戏的取舍
- 大话设计模式—观察者模式
- 分享9个实用的电脑维修技巧,赶紧收藏吧!
- JavaScript(五)—— Web APIs 简介/JavaScript 必须掌握的 DOM 操作 (丰富案例 + 思维导图)
- sourcetree的安装及使用
- 面试题10:斐波那契数列
- OpenCV 直方图均衡化 equalizeHist
- Linux 五个最牛视频编辑软件
- 文本框只能输入数字、字母,屏蔽粘贴
- IP地址-子网掩码-默认网关之间的关系
- iOS菜鸟笔记4:一个简单的TableView
- ORAN C平面 Section Type 6
- 通过PostMessage/SendMessage实现模拟键盘鼠标按键,发送不成功或出现重复按键的可参考本文
- 使用Python处理excel表格(openpyxl)教程
- 安卓安全技能树整理v1.0