SQLServer 链接服务器及同义词
链接服务器1. openrowseexec 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 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 高级配置选项的配置值检查(以查找无效值或非建议值)。 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 同义词同义词分为同库的表同义词跟跨库、跨服的同义词 比如这个表单太长,我们想在本地库直接 实现方式就是同义词,在本地数据库映射个别名直接调用。看起来像使用本库的表一样。 1.、界面工具方式创建 确认之后就可以试写用 2、 脚本命令方式创建 --创建同义词 create synonym dbo.ST_PPTN_R for ITSV.Pro_RiverManage.dbo.ST_PPTN_R --查询有哪些同义词 SELECT * FROM sys.synonyms WHERE name=‘ST_PPTN_R‘ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |