Sql Server使用链接服务器远程取数据

server|服务器|链接|数据

由于最近开发的一个查询系统,基本是在其它服务器的,所以在本地服务器设计了中间,用来存从远程服务器取数据!
    一种方法是通过,OPENDATASOURCE来远程读取数据!

SELECT   *
FROM      OPENDATASOURCE(
         'SQLOLEDB',
         'Data Source=ServerName;User ID=MyUID;Password=MyPass'
         ).Northwind.dbo.Categories

但是远程的服务器不能确认,比较麻烦,如果要实现,只有把连接信息保存到服务器,通过动态SQL(EXEC或sp_excute_sql来达到目的)

另一种方法就是添加链接服务器,
sp_addlinkedserver @server = N'链接服务器名',
    @srvproduct = N' ',
    @provider = N'SQLOLEDB',
    @datasrc = N'远程服务器IP',
添加链接服务器登录
sp_addlinkedsrvlogin [ @rmtsrvname = ] '链接服务器名'
    [ , [ @useself = ] 'false' ]
    [ , [ @locallogin = ] '本地登录名' ]
    [ , [ @rmtuser = ] '远程登录名' ]
    [ , [ @rmtpassword = ] '远程密码' ]
这样访问远程服务器的就可以通过SQL
select * from 链接服务器名.远程数据名.远程所有者.远程表名
不用管远程服务器的地址所登录名,只能链接服务器名,不变,正式发装时,不能修改程序!
 

时间: 2024-08-02 16:32:27

Sql Server使用链接服务器远程取数据的相关文章

SQL Server使用链接服务器的5个性能杀手

当使用链接服务器(Linked Servers)时,最昂贵的代价就是网络带宽间大量数据的传输.在正确的服务器书写正确的代码是非常重要的,因为每一个错误都会导致在网络带宽上付出非常昂贵的代价. 下面是使用链接服务器(Linked Servers)时的几个常见错误: 1:使用推送方式而不是拉方式取数 出人意料之外的是,使用链接服务器推送数据比拉取数据慢得多.Linchi Shea写了一篇很好的博客讨论这个. Linchi Shea 使用openquery来说明两者间的差异,但是这个也会发生在使用链接

[翻译]——SQL Server使用链接服务器的5个性能杀手

 前言: 本文是对博客http://www.dbnewsfeed.com/2012/09/08/5-performance-killers-when-working-with-linked-servers/的翻译, 如有翻译不对或不好的地方,敬请指出,大家一起学习进步.尊重原创和翻译劳动成果,转载时请注明出处.谢谢!   当 使用链接服务器(Linked Servers)时,最昂贵的代价就是网络带宽间大量数据的传输.在正确的服务器书写正确的代码是非常重要的,因为每一个错误都会导致在网络带宽上付出

[翻译]——SQL Server使用链接服务器的5个性能杀手

原文:[翻译]--SQL Server使用链接服务器的5个性能杀手  前言: 本文是对博客http://www.dbnewsfeed.com/2012/09/08/5-performance-killers-when-working-with-linked-servers/的翻译, 如有翻译不对或不好的地方,敬请指出,大家一起学习进步.尊重原创和翻译劳动成果,转载时请注明出处.谢谢!   当使用链接服务器(Linked Servers)时,最昂贵的代价就是网络带宽间大量数据的传输.在正确的服务器

SQL Server的链接服务器(MySQL、Oracle、Ms_sql、Access、SYBASE)

原文:SQL Server的链接服务器(MySQL.Oracle.Ms_sql.Access.SYBASE) 一.使用 Microsoft OLE DB Provider For ODBC 链接MySQL 安装MySQL的ODBC驱动MyODBC 1.为MySQL建立一个ODBC系统数据源,例如:选择数据库为test ,数据源名称为myDSN 2.建立链接数据库 EXEC sp_addlinkedserver @server = 'MySQLTest', @srvproduct='MySQL',

SQLServer通过链接服务器远程删除数据性能问题解决

原文:SQLServer通过链接服务器远程删除数据性能问题解决 在上一遍文章中介绍了SQLServer通过链接服务器访问Oracle性能问题的解决方法,本文介绍链接服务器下远程删除SQLServer数据的性能问题解决 1. 问题发现 系统中有个功能,需要远程删除SQLServer实例的表数据,删除语句中有where条件,条件中有一个子查询. 该功能前台执行速度非常慢.所以准备调优. 下面为演示代码,未优化前如下: DELETE FROM [LINKSERVERNAME].[AdventureWo

数据库-Sql server 2005 链接服务器问题

问题描述 Sql server 2005 链接服务器问题 有A,B两台服务器已建立链接, 在B服务器分析器中Select * into #tmpa from [a].xx.dbo.xx 可以执行 update [a].xx.dbo.xx set counter = 1 wehre num in (select num from #tmpa) 也可执行 delete from [a].xx.dbo.xx where num in (select num from #tmpa) 就是删除不行提示以下

SQL Server的链接服务器技术小结

server|服务器|链接 一.使用 Microsoft OLE DB Provider For ODBC 链接MySQL安装MySQL的ODBC驱动MyODBC1.为MySQL建立一个ODBC系统数据源,例如:选择数据库为test ,数据源名称为 myDSN 2.建立链接数据库EXEC sp_addlinkedserver  @server = 'MySQLTest', @srvproduct='MySQL', @provider = 'MSDASQL', @datasrc = 'myDSN'

SQL Server的链接服务器技术小结_MsSql

一.使用 Microsoft OLE DB Provider For ODBC 链接MySQL 安装MySQL的ODBC驱动MyODBC 1.为MySQL建立一个ODBC系统数据源,例如:选择数据库为test ,数据源名称为 myDSN 2.建立链接数据库 EXEC sp_addlinkedserver @server = 'MySQLTest', @srvproduct='MySQL', @provider = 'MSDASQL', @datasrc = 'myDSN' GO EXEC sp_

SQL Server创建链接服务器的存储过程示例分享

创建链接服务器.链接服务器让用户可以对 OLE DB 数据源进行分布式异类查询.在使用 sp_addlinkedserver 创建链接 服务器后,可对该服务器运行分布式查询.如果链接服务器定义为 SQL Server 实例,则可执行远程存储过程. http://msdn.microsoft.com/zh-cn/library/ms190479(SQL.90).aspx EXECUTE sp_addlinkedserver @server='DB1', @srvproduct='',@provid