[转载]sql server 分布式查询

--用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')

如果只是偶尔使用 就用opendatasource/openrowset 固定的频繁使用建linked server

 

原文见
http://www.cnblogs.com/doosmile/archive/2012/03/16/2400646.html

转载于:https://www.cnblogs.com/draweye/p/6478426.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488997.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab画半透明矩形,使用matlab画半透明椭圆

先上最终效果图:本来是想直接用scatter和alpha来画的,结果在尝试以下代码后,发现无法显示透明效果scatter(rand(1000,1),rand(1000,1), ‘filled‘);alpha(0.5)具体原因可以参考stackoverflow(http://stackoverflow.com/questions/6366404/se…

2019全球信息通信业热点回顾

来源: 人民邮电报编辑:于莉莉 监制:郭川时光飞逝,倏忽一年。回首2019年,全球电信业最大的热点当属5G。这一年,5G在经过数年酝酿后终于商用,无论是运营商还是政府,都对5G给予了空前的…

SSIS添加分区-动态

主要参考:动态分区 一、前提准备: 1、一个日期存储过程,注意代码可以得到一个月中的最后一天,最终生成时间维度。 USE [DrugDW] GO /****** Object: StoredProcedure [dbo].[PROC_DATETIME] Script Date: 2/28 星期二 14:16:4…

canvas 实现图片局部模糊_小技巧!H5使用Html2Canvas实现自动截屏(下)

上文写到使用html2Canvas实现截屏。上次留了一个问题,如果当前dom元素对象比较大,比如包含一个比较大的图片等,在将dom序列化成字符串时,极易导致字符串超长。对于超长的内容,后台程序将获取不到参数,那么怎…

getjson php 函数,PHP读写JSON文件以及jQuery的getJSON函数用法

在写的音乐网站中用到保存用户歌单功能,即用户登录后可以显示该用户之前保存的歌单,开始的思路是使用数据库来保存,后来为了方便于是考虑使用json数据格式来保存歌单,这样也和播放器插件的json参数比较契合.读取JSON文件<?php $filename "chation99.json";$json…

悬而未决的AI竞赛:全球企业人工智能发展现状

来源&#xff1a;德勤,智东西随着企业领袖逐渐将人工智能视为下一轮经济大扩张的重要推动力量&#xff0c;一种担忧错失良机的情绪在全球范围内日益蔓延。许多国家纷纷制定人工智能战略&#xff0c;通过资金投入、政策激励、人才发展和风险管理推进技术能力的发展。人工智能对于…

Science揭示:身体如何应对细菌的“群体感应”

电子显微镜下的假单胞菌细菌。图片来源&#xff1a;MPIIB / Volker Brinkmann来源&#xff1a;中国生物技术网众所周知&#xff0c;细菌感染并不会马上导致疾病&#xff0c;只有在它们大量出现时才会对身体造成威胁。近日&#xff0c;发表在《Science》上的一项研究中&#xff…

百度:2020年十大科技趋势

来源&#xff1a;6G俱乐部图片来源&#xff1a;百度2019&#xff0c;关于科技的鲜活记忆&#xff0c;正在快速变成时间洪流的一部分&#xff0c;也变成了我们读懂未来的钥匙。过去一年中&#xff0c;多技术融合正在加快&#xff0c;AI开发的门槛在迅速降低&#xff0c;产业智能…

美国计划让“人工智能”去搜寻外星人!

来源&#xff1a;科学解码据美国太空网近日报道&#xff0c;美国国家航空航天局&#xff08;NASA&#xff09;官员称&#xff0c;他们希望利用人工智能&#xff08;例如机器学习&#xff09;技术&#xff0c;分析大型望远镜等收集的数据&#xff0c;从而帮助搜寻外星生命&#…

三宝机器人怎么充电_巨人通力导致吉祥三宝+36号故障怪现象的又一因素

想必大家都有过这样的经历&#xff1a;在电梯故障频繁出现时&#xff0c;明明可以判断是哪里的问题&#xff0c;但事实却是让你感觉不可思议&#xff0c;并且排查过程颇为周折。今天和大家分享一下我经历的巨人通力GPS30K电梯出现的吉祥三宝故障的排查过程。下图为电梯控制柜铭…

《自然》展望2020年重大科学事件!中国有两个大计划安排上了

来源&#xff1a;科技日报图片来源&#xff1a;Nature官网&#xff08;不包括标注了来源的图片&#xff09;“千门万户曈曈日&#xff0c;总把新桃换旧符”&#xff01;在辞旧迎新之际&#xff0c;我们除了要埋头梳理过去一年的悲欢得失&#xff0c;也应抬头眺望新一年的星辰大…

vue aplayer 进度条无法拖动_Vue-rideo-player视频播放插件的使用

***** git项目地址&#xff1a; https://github.com/surmon-china/vue-video-player***** 参考文章&#xff1a; https://www.jianshu.com/p/532fc1d8c90c使用安装&#xff1a; npm install vue-video-player --save2. 在main.js入口文件中引入import VideoPlayer from vue-vid…

php流程控制作业题,php流程控制

一、get传值我们请求服务器下一步操作啊&#xff0c;都是用get进行传值&#xff0c;然后服务器用预定义变量数组$_GET&#xff0c;接受。二、流程控制1 三元运算符 ? :逻辑很简单&#xff0c;就是设置条件&#xff0c;条件成立就执行“&#xff1f;” 。条件不成立就执行”:…

JS中的call()和apply()方法(转)

转自&#xff1a;http://uule.iteye.com/blog/1158829 JS中的call()和apply()方法 博客分类&#xff1a; JS1、方法定义 call方法: 语法&#xff1a;call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义&#xff1a;调用一个对象的一个方法&#xff0c;以另一个对象替换当前对象…

中国AI芯片产业发展白皮书:未来三年年均增长率超50%

来源&#xff1a;赛迪顾问《中国AI芯片产业发展白皮书》从AI芯片的定义及分类、发展过程与现状、应用机会、竞争格局、发展趋势等多角度全面剖析AI芯片的发展新态势、 技术演进及行业格局&#xff0c;旨在为业内相关企业把握行业发展动态、挖掘市场机遇&#xff0c;提供借鉴与参…

人工智能与经济生产力:期待进化,而不是革命

Illustration: Edmon de Haro来源&#xff1a; IEEE电气电子工程师尽管大肆宣传&#xff0c;人工智能仍需数年时间才能显著提高经济生产力。2016年&#xff0c;总部位于伦敦的Alphabet&#xff08;也是谷歌的母公司&#xff09;的子公司DeepMind Technologies报告称&#xff0c…

oracle 表 上限,Oracle分区表(Partition Table)的数量限制

Oracle分区表(Partition Table)的数量限制有朋友在我的留言板上问到这样一个问题:oracle分区表是不是有最大分区个数限制,我有一张大约20G的表,有好多分区(按时间),结果根据这个时间条件查询就报ORA-03113 end-of-file on communication channel错误,然后断开链接,硬件与网络都…

张恭庆院士:数学的意义(最全最牛的解释)

来源&#xff1a;数学严老师北京大学数学科学学院教授、中国科学院院士、第三世界科学院院士数学既是一种文化、一种“思想的体操”&#xff0c;更是现代理性文化的核心。马克思说&#xff1a;“一门科学只有当它达到了能够成功地运用数学时&#xff0c;才算真正发展了。”在前…

oracle 根据分隔符提取,oracle使用指定分隔符导出数据到文件

最近有需求要导出一个专业的详单&#xff0c;用于倒入sqlserver系统&#xff0c;要求用分隔符隔开各字段。一开始准备用toad查询出来在save as&#xff0c;但发现表太多&#xff0c;要一张一张表盯着&#xff0c;而且由于详单数据量大&#xff0c;查询导出占用了大量的客户端内…

vue mxgraph渲染xml页面_Vue的两个版本

Vue.js分为两个版本&#xff0c;简单来说就是一个是完整版vue.js&#xff0c;一个是非完整版vue.runtime.js&#xff1a;1. HTML的书写位置不同完整版&#xff1a;完整版的HTML书写的位置有两个&#xff0c;一个是直接在 *.html 文件中使用 Vue 语法&#xff0c;如下所示&#…