SQL Server跨服务器查询的实现方法

数据库 SQL Server
SQL Server数据库能否实现跨服务器查询呢?答案是肯定的。下文对该功能的实现方法作了详细的说明,希望对您能有所帮助。

SQL Server跨服务器查询的方法我们经常需要用到,下面就为您介绍两种SQL Server跨服务器查询的方法,如果您感兴趣的话,不妨一看。

SQL Server跨服务器查询方法一:
用OPENDATASOURCE
下面是个跨SQLServer查询的示例
Select TableA.*,TableB.* From OPENDATASOURCE(
         'SQLOLEDB',
         'Data Source=ServerA;User ID=UserID;Password=Password'
         ).databaseAName.dbo.TableA
Left Join
 OPENDATASOURCE(
         'SQLOLEDB',
         'Data Source=ServerB;User ID=UserID;Password=Password'
         ).databaseBName.dbo.TableB On TableA.key=TableB.key

下面是个查询的示例,它通过用于 Jet 的 OLE DB 提供程序查询 Excel 电子表格。
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions


SQL Server跨服务器查询方法二(也可以在企业管理器里添加 linkServer):
sp_addlinkedserver
创建一个链接的服务器,使其允许对分布式的、针对 OLE DB 数据源的异类查询进行访问。在使用 sp_addlinkedserver 创建链接的服务器之后,此服务器就可以执行分布式查询。如果链接服务器定义为 Microsoft? SQL Server?,则可执行远程存储过程。

语法
sp_addlinkedserver [ @server = ] 'server'
    [ , [ @srvproduct = ] 'product_name' ]
    [ , [ @provider = ] 'provider_name' ]
    [ , [ @datasrc = ] 'data_source' ]
    [ , [ @location = ] 'location' ]
    [ , [ @provstr = ] 'provider_string' ]
    [ , [ @catalog = ] 'catalog' ]

权限
执行许可权限默认授予 sysadmin 和 setupadmin 固定服务器角色的成员。

简单示例:
//创建linkServer
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','服务器名'
//登陆linkServer
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
//查询linkServer的数据库DataBaseA的表TableA
Select * From srv_lnk.DataBaseA.dbo.TableA
//List the tables in the linked server
EXEC sp_tables_ex txtsrv

 

 

 

【编辑推荐】

SQL Server绑定连接

SQL Server连接数的查询

Sql Server自动备份的设置过程

SQL SERVER线程和纤程的配置

多台SQL Server服务器管理

责任编辑:段燃 来源: 互联网
相关推荐

2010-11-09 14:47:46

SQL Server跨

2010-05-07 09:58:27

SQL Server

2010-09-26 14:21:43

sql跨服务器查询

2010-10-19 10:45:10

sql server服

2023-11-29 07:34:25

2010-11-08 17:20:54

SQL Server跨

2011-08-29 15:21:30

2010-09-08 15:14:36

2010-10-22 14:50:27

SQL server服

2011-08-25 09:46:02

SQL Server数负载均衡集群

2010-11-08 11:53:16

2010-10-20 15:53:37

SQL Server服

2010-11-10 10:59:52

Sql Server服

2010-04-01 17:43:56

Oracle实现跨服务

2011-04-02 10:33:40

SQL server服务器内存

2011-08-10 17:56:05

SQL Server连接请求

2010-05-10 18:15:16

Oracle跨服务器

2010-09-02 11:20:47

SQL删除

2010-10-22 13:56:41

SQL Server服

2011-09-15 13:24:15

SQL Server性能监视
点赞
收藏

51CTO技术栈公众号