链接服务器

1. openrowse

exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure --进行查询
select * from openrowset('SQLOLEDB', 'DRIVER={SQL Server};SERVER=47.95.15.215;UID=sa;PWD=strong;Initial Catalog=Pubs', 'select * from IStrongPro_RiverManage_GDJM.dbo.ST_PPTN_R') as a exec sp_configure 'show advanced options',0
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure

Openrowse(驱动类型,连接字符串,查询表)

驱动类型有三种:

MSDASQL/SQLNCLI/SQLOLEDB

MSDASQL

MSDASQL:Microsoft OLE DB Provider for ODBC Drivers

允许在 OLEDB 和 ADO(它在内部使用 OLEDB)上构建的应用程序通过 ODBC 驱动程序访问数据源的技术。
MSDASQL 是用于连接到 ODBC(而不是数据库)的 OLEDB 访问接口。

SQLOLEDB

SQLOLEDB :Microsoft OLE DB Provider for SQL Server,可以看出来SQLOLEDB是连接到数据库sqlserver,而不是ODBC驱动

SQLNCLI

SQLNCLI10(SQLNCLI):SQL Server Native Client 10.0

SQL Server Native Client的定义:

SQL Server Native Client 是在 SQL Server 2005 中引入的用于 OLE DB 和 ODBC 的独立数据访问应用程序编程接口 (API)。SQL Server Native Client 将 SQL OLE DB 访问接口和 SQL ODBC 驱动程序组合成一个本机动态链接库 (DLL)。为了利用在 SQL Server 2005以及以上的版本的新功能,比如多个活动结果集 (MARS)、查询通知、用户定义类型 (UDT) 或新的 xml 数据类型,那些使用 ActiveX Data Objects (ADO) 的现有应用程序应当使用 SQL Server Native Client OLE DB 访问接口作为其数据访问接口。

如果不需要使用在 SQL Server 2005 及其以后的版本中引入的任何新功能,则不需要使用 SQL Server Native Client OLE DB 访问接口;您可以继续使用当前数据访问接口(通常是 SQLOLEDB)。如果要增强现有应用程序的功能,并且需要使用在 SQL Server 2005 及其以后的版本中引入的新功能,则应当使用 SQL Server Native Client OLE DB 访问接口。

注:以上 reconfigure可能会报错

可改:禁用对 recoveryinterval 高级配置选项的配置值检查(以查找无效值或非建议值)。

reconfigure WITH OVERRIDE

例如:

exec sp_configure 'show advanced options',1
reconfigure WITH OVERRIDE`
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure WITH OVERRIDE`
go
--执行语句
go
exec sp_configure 'show advanced options',0
reconfigure WITH OVERRIDE`
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure WITH OVERRIDE`

2. 建立链接服务器

2.1 命令

--建立链接服务器
exec sp_addlinkedserver 'ServerName', '', 'SQLOLEDB','47.95.15.111'
exec sp_addlinkedsrvlogin 'ServerName', 'false',null,'sa','strong'
exec sp_serveroption N'ServerName', N'rpc out', N'true'
exec sp_serveroption N'ServerName', N'rpc', N'true' --注 ServerName 就是查询的时候用来表示服务器名的别称。
--查询 select * from ServerName.Pro_RiverManage.dbo.ST_PPTN_R
--当然此处的ServerName也可以写数字,如果是数据,必须以双引号或中括号框起来,如[47.95.15.111] "47.95.15.111"
--Example: select * from [47.95.15.111]].Pro_RiverManage.dbo.ST_PPTN_R--(前提上面的ServerName写成47.95.15.111)
--删除链接服务器
exec sp_dropserver 'ServerName ', 'droplogins '--可以不用删除,也可以保留,只是点存储空间,影响不大,

2.2.手动界面操作







添加成功后,可以在“服务器对像》链接服务器”,可以看到刚刚添加的链接服务器,点击进行测试是否可以连接成功!

--查询的时候就可以

select * from [47.96.12.111,1433].Pro_RiverManage.dbo.ST_PPTN_R

同义词

同义词分为同库的表同义词跟跨库、跨服的同义词

这里主要说一下跨服的同义语,跨服的功能需要立足于 链接服务器 才可以使用

比如这个表单太长,我们想在本地库直接

select * from [47.96.12.111,1433].Pro_RiverManage.dbo.ST_PPTN_R

这样子,看起来这个表就跟本地的表一样,其实这个表是个远程库的表!

select * from dbo.ST_PPTN_R

实现方式就是同义词,在本地数据库映射个别名直接调用。看起来像使用本库的表一样。

1.、界面工具方式创建

确认之后就可以试写用 select * from dbo.ST_PPTN_R 像查询本地表一样进行查询,链接交给数据库链接服务器功能块去处理

2、 脚本命令方式创建

--创建同义词
create synonym dbo.ST_PPTN_R for ITSV.Pro_RiverManage.dbo.ST_PPTN_R
--查询有哪些同义词
SELECT * FROM sys.synonyms WHERE name='ST_PPTN_R'

SQLServer 链接服务器及同义词的更多相关文章

  1. Sqlserver 链接服务器和同义词

    在数据库的日常维护中,经常会遇到跨服务器的数据传输. 例如A服务器上的数据每天要从B服务器上去获取数据,然后插入到自己的服务器上.这种情况就要用到链接服务器了. 接下来,我就把我本机当作服务器A,17 ...

  2. SQLSERVER 链接服务器执行存储过程

    1.创建链接服务器 exec sp_addlinkedserver 'server_tmp','','SQLOLEDB','192.168.1.1' -- server_tmp 为别名 exec sp ...

  3. SQLSERVER 链接服务器

    1. 执行代码 EXEC sp_addlinkedserver @server='XLZFSqlServer', --链接服务器别名 @srvproduct='', @provider='SQLOLE ...

  4. Sqlserver通过链接服务器访问Oracle的那些事儿

    前言: 1.不经历风雨,怎能见彩虹. 2.充分利用BaiDu.google等搜索引擎查找资料并整合分析! 3.世上无难事只怕有心人! 本文由来:笔者在研究SQLSERVER链接服务器到oracle并使 ...

  5. 【转】Sqlserver通过链接服务器访问Oracle的那些事儿!

    原文:http://blog.sina.com.cn/s/blog_614b6f210100t80r.html 前言:1.不经历风雨,怎能见彩虹.2.充分利用BaiDu.google等搜索引擎查找资料 ...

  6. Sqlserver通过链接服务器访问Oracle的解决办法

    转自http://blog.sina.com.cn/s/blog_614b6f210100t80r.html 一.创建sqlserver链接服务(sqlserver链接oracle)  首先sqlse ...

  7. Sqlserver通过链接服务器访问Oracle

    工作中遇到的情况,win 7 64位操作系统的就安装64位的oracle 客户端,然后重启sql service服务后再创建sql 链接服务器.关于如何创建链接服务器请查看下面的大神的链接: http ...

  8. [转]SQLSERVER存储过程调用不同数据库的数据_存储过程中通过链接服务器访问远程服务器

    本文转自:http://blog.csdn.net/nnaabbcc/article/details/7967761 存储过程调用不同数据库的数据 在存储过程调用不同数据库的数据该如何做,比如在存储过 ...

  9. 【转】Sqlserver通过链接服务器访问Oracle的解决办法

    一.创建sqlserver链接服务(sqlserver链接oracle)  首先sqlserver 链接oracle可以通过两个访问接口: “MSDAORA” 和“OraOLEDB.Oracle” 1 ...

随机推荐

  1. vue概念

    Vue是单向数据流还是双向数据绑定? Vue是单向数据流不是双向数据绑定 Vue的双向数据绑定不过是语法糖(语法糖本质就是一种新的编码方式,并没有给语言增加新的功能.语法糖目的就是为了让代码更易读,更 ...

  2. leetcode 217. 存在重复元素 (python)

    给定一个整数数组,判断是否存在重复元素. 如果任何值在数组中出现至少两次,函数返回 true.如果数组中每个元素都不相同,则返回 false. 示例 1: 输入: [1,2,3,1]输出: true示 ...

  3. hadoop分布式环境安装

    1. 下载hadoop和jdk安装包到指定目录,并安装java环境. 2.解压hadoop到指定目录,配置环境变量.vim /etc/profile export JAVA_HOME=/home/xi ...

  4. 【FICO系列】SAP 创建会计凭证(FB01)的BAPI

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FICO系列]SAP 创建会计凭证(FB01) ...

  5. 【Unity 系统知识】 各种路径

    一.Assets下的Resources(Unity系统文件夹) :路径 Application.dataPath/Resources 可以使用Resources.Load("文件名字,注:不 ...

  6. Notepad++正则表达式合并多行代码为1行

    有时候你想要缩减代码行数,多行并1行,像网页流行的JS代码,查看时多见这种情况,但是有时你想把多行switch case缩成1行,再手动分开,每个case一行. 这种对齐方式似乎在日式程序员的代码中经 ...

  7. JavaScript defineProperties

    function defineProperties(obj, properties) {   function convertToDescriptor(desc)   {     function h ...

  8. Netty之SubPage级别的内存分配

    SubPage 级别的内存分配: 通过之前的学习我们知道, 如果我们分配一个缓冲区大小远小于page, 则直接在一个page 上进行分配则会造成内存浪费, 所以需要将page 继续进行切分成多个子块进 ...

  9. [BZOJ3932][CQOI2015]任务查询系统(差分+主席树)

    题面 分析 对于一个区间修改(s,e,v),我们可以将它差分,这样就变成了单点修改s和e+1(s插入,t+1删除) 我们用主席树维护差分数组的前缀和,第i棵主席树维护区间[1,i]之间的所有差分值 那 ...

  10. 16、NumPy ——字节交换

    NumPy 字节交换 在几乎所有的机器上,多字节对象都被存储为连续的字节序列.字节顺序,是跨越多字节的程序对象的存储规则. 大端模式:指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地 ...