关闭

【数据库SQL】在本地电脑里的查询分析器里,读取其他电脑的数据库数据。跨店SQL里查询

126人阅读 评论(0) 收藏 举报
分类:
在SQL Server20008调用别的SQL数据库远程操作中,
在使用openrowset/opendatasource前首先要启用Ad Hoc Distributed Queries服务,因为这个服务不安全所以SqlServer默认是关闭的。


--不用选择数据库
1、启用Ad Hoc Distributed Queries的方法


SQL Server 阻止了对组件'Ad Hoc Distributed Queries' 的STATEMENT'OpenRowset/OpenDatasource'的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用。sp_configure 启用 '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 
使用完毕后,记得一定要关闭它,因为这是一个安全隐患,切记执行下面的SQL语句:


exec sp_configure 'Ad Hoc Distributed Queries',0  
 
reconfigure  
 
exec sp_configure 'show advanced options',0  
 
reconfigure 


============================================================================================================================================================
作用:将138服务器上的数据库移到本地
方法①:
在本地的SQL里执行如下。即可
注意:如下语句执行不了。是因为。SQL外围功能没开启远程连接。在SQL功能外围了设置即可。   
---建议版本,以下无法使用
--如果只是临时访问,可以直接用openrowset  
 --查询示例  
select   *     from   openrowset('SQLOLEDB','服务器地址';'sa';'SA密码',数据库名.dbo.表名)  


例如:
select   *  into hbfsv8..类别   from   openrowset('SQLOLEDB','POS-SERVER2';'sa';'',hbfsv8.dbo.类别)  


执行成功后。即可在本地写语句导数据


方法②:




您好:以下方法,有个别的SQL版本无法使用例如简易版本,可使用如下方法查询(需要SQL能正常访问的情况下使用,可以使用SQL查询分析器连接测试)
--第一步:开启创建链接服务器  (执行一次即可)
exec   sp_addlinkedserver     'srv_lnk','','SQLOLEDB','POS-SERVER2'  
exec   sp_addlinkedsrvlogin   'srv_lnk','false',null,'sa',''  
go  


--如下可以写语句来查询    
--查询分店的库存数据  
select   *   from   srv_lnk.isszmv7_branch.dbo.t_im_branch_stock    where item_no='00001' --3
   
 
--将分店的库存数据导入到本地的服务器来  
select   *   into  isszmv7..fdkc   from   srv_lnk.isszmv7_branch.dbo.t_im_branch_stock    --2869
    


--将分店的库存和总部的库存对比
select a.item_no as 货号,a.stock_qty as 库存数量  from isszmv7..t_im_branch_stock a,  fdkc  b
where a.item_no=b.item_no and  a.stock_qty<>b.stock_qty 
go




--注意:以后不再使用时删除链接服务器  
exec   sp_dropserver   'srv_lnk','droplogins'  
 go  








   
---建议版本,以下无法使用
  --如果只是临时访问,可以直接用openrowset  
  --查询示例  
  select   *   from   openrowset('SQLOLEDB'  
  ,'POS-SERVER2';'用户名';'密码'  
  ,数据库名.dbo.表名)  
    
例如:
select   *  into hbfsv8..sps2  from   openrowset('SQLOLEDB','128.0.14.06\XYT';'sa';'',hbfsv8.dbo.sps2)  
select   *  into hbfsv8..spd1  from   openrowset('SQLOLEDB','128.0.14.06\XYT';'sa';'',hbfsv8.dbo.spd1)  
select   *  into hbfsv8..类别   from   openrowset('SQLOLEDB','128.0.14.06\XYT';'sa';'',hbfsv8.dbo.类别)  
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

VC++连接SQL数据库,并获取相应查询内容

前几天用VC++,获取SQL中的内容并保存,由于不是很熟悉,走了很多弯路,现在总结哈,希望能给需要的人一些帮助。   直接贴代码。 #include "string" #include "map" ...
  • forever1dreamsxx
  • forever1dreamsxx
  • 2013-10-25 16:13
  • 2348

SQL中的where条件,在数据库中提取与应用浅析

1        问题描述 一条SQL,在数据库中是如何执行的呢?相信很多人都会对这个问题比较感兴趣。当然,要完整描述一条SQL在数据库中的生命周期,这是一个非常巨大的问题,涵盖了SQL的词法解...
  • java1993666
  • java1993666
  • 2017-06-15 08:56
  • 274

postgresql_fdw 跨数据库查询

--PostgreSQL的数据库逻辑上是相互独立的,和Oracle类似,如果要访问其他数据库,需要做跨库操作, --Postgres本身提供了一些扩展,比如dblink,pgsql_fdw等,高版本的...
  • jumewo
  • jumewo
  • 2016-01-21 17:21
  • 919

SQL Server 2008重装系统后还原原来的数据库

重装完系统后,当然数据库程序还是要重装,可以把原来的数据库附加上去,附加的数据库文件类型为(.mdf)
  • chenhui_
  • chenhui_
  • 2016-08-31 10:53
  • 2829

一个跨库复杂查询的SQL优化的案例

导读 为了帮客户出一个报表,需要跨三个库进行一个复杂的查询,用到了 in,union all,left join等关键字, 其中几个字段还需要进行SUM,Count等计算。未优化前查询耗时368秒。 ...
  • waste_land_wolf
  • waste_land_wolf
  • 2017-07-31 10:22
  • 567

跨数据库多表联合动态条件查询

[HttpGet] public ActionResult Search() { string whereText = ""; ...
  • wangzl1163
  • wangzl1163
  • 2016-08-18 18:32
  • 1363

在查询分析器中执行update更新一个字段查询一直执行但不会成功

错误描述: 最近一段时间早上查看我维护的一个网站,每次都出现连接数据库超时一过期的提示。在服务器上登陆不了sqlserver。在服务中也停止不了sqlserver服务。 只能在任务管理器中...
  • sxf359
  • sxf359
  • 2016-11-25 10:36
  • 637

oracle 实现跨数据库查询及数据插入

1、首先需要在一个库中创建另外一个库的 连接 即 DB link 执行sql 语句: CREATE DATABASE LINK TOSMARTSYS_201 -- 连接名 ...
  • housonglin1213
  • housonglin1213
  • 2015-12-16 16:06
  • 1356

SQL语句 - 嵌套查询

嵌套查询的意思是,一个查询语句(select-from-where)查询语句块可以嵌套在另外一个查询块的where子句中,称为嵌套查询。其中外层查询也称为父查询,主查询。内层查询也称子查询,从查询。 ...
  • u014316462
  • u014316462
  • 2016-08-30 14:27
  • 360

SQL数据库查询语句

一、Select语句: select语句除了可以查看数据库中的表格和视图的信息外,还可以查看SQL Server的系统信息、复制、创建数据表。其查询功能强大,是SQL语言的灵魂语句,也是SQL中使用...
  • sanganqi_wusuierzi
  • sanganqi_wusuierzi
  • 2016-08-26 23:40
  • 1779
    个人资料
    • 访问:34805次
    • 积分:1276
    • 等级:
    • 排名:千里之外
    • 原创:98篇
    • 转载:1篇
    • 译文:0篇
    • 评论:2条
    最新评论