`
04023129
  • 浏览: 161550 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

★SqlServer 中 link serve的使用

阅读更多

问题描述:

      日本数据库服务器中有两个数据库A,B

      现在要将B数据库迁移到中国,

      但是A,B之间有表的关联。

实现结果:

      A,B之间的数据库实现同时更新。

 

解决方案:

     采用SQLServer中的link server

实现步骤:

     1 建立与日本方的link server,日方服务器为:172.18.1.6;取别名:linkServerJP 

        语法为

        sp_addlinkedserver   N'linkServerJP',   '   ',   N'SQLOLEDB',   N'172.18.1.6'

     2 将本地用户sa 访问权限映射到名为  linkServerJP  的链接服务器上的   SQL   Server   授权登录   Visitor。  

        假设 用户名为:develop  密码为:password

        语法为

        sp_addlinkedsrvlogin   N'linkServerJP',   false,   N'sa',   N'develop',   N'pssword'  

     3 远端数据库访问方式: 服务器名.数据库名.dbo.表名

        例如 linkServerJP.test.dbo.student

简单举例:

        查询日本服务器上的student表

        select username from linkServerJP.test.dbo.student;

       其他操作类同

 

 

参考资料:

   http://topic.csdn.net/t/20021101/10/1138996.html

  创建链接服务器以访问   SQL   Server   数据库    
   
  执行   sp_addlinkedserver   创建链接服务器,指定   SQLOLEDB   作为   provider_name,指定运行   SQL   Server   远程实例的服务器的网络名称作为   data_source。    
  例如,若要创建一个名为   LinkSQLSrvr   的链接服务器,以便对运行于网络名称为   NetSQLSrvr   的服务器上的   SQL   Server   实例进行操作,请执行:  
   
  sp_addlinkedserver   N'LinkSQLSrvr',   '   ',   N'SQLOLEDB',   N'NetSQLSrvr'  
   
  将每个需要访问链接服务器的本地   SQL   Server   登录映射为链接服务器上的   SQL   Server   授权登录。    
  下例将本地登录   Joe   的访问权限映射到名为   LinkedSQLSrvr   的链接服务器上的   SQL   Server   授权登录   Visitor。    
   
  sp_addlinkedsrvlogin   N'LinkSQLSrvr',   false,   N'Joe',   N'Visitor',   N'VisitorPwd'  
   
  对运行   SQL   Server   7.0   版或更早版本的服务器执行分布式查询时,必须升级早期版本上的目录存储过程,以确保分布式查询可以正常运行。例如,如果服务器运行的是   SQL   Server   7.0   版实例,则在可以从运行   SQL   Server   2000   实例的服务器中的分布式查询内引用目录存储过程之前,必须将它升级到   SQL   Server   2000。有关更多信息,请参见升级目录存储过程   (OLE   DB)。  
   
  更新远程   SQL   Server   表时,本地服务器或客户端不接收为该更新而激发的触发器所产生的任何结果集或消息。  
   
  当使用四部分的名称时,一定要指定架构名称。没有在分布式查询中指定架构名称将会禁止   OLE   DB   查找表。当引用本地表时,如果未指定所有者姓名,SQL   Server   将使用默认值。下列   SELECT   语句将产生   7314   号错误,即使链接服务器登录映射为链接服务器上   Northwind   数据库中的用户   dbo。  
   
  sp_addlinkedserver   @server   =   N'LinkServer',  
          @srvproduct   =   N'   ',  
          @provider   =   N'SQLOLEDB',    
          @datasrc   =   N'ServerNetName',    
          @catalog   =   N'Northwind'  
  GO  
  SELECT   *  
  FROM   LinkServer.Northwind..Shippers  
   
  下面的示例定义了链接服务器和远程服务器,它们都访问网络名称为   othersite   的同一台计算机。链接服务器定义使用与远程服务器的网络名称相同的名称;而远程服务器定义则使用其它名称。  
   
  /*   Create   a   linked   server   definition   to   othersite.   */  
  EXEC   sp_addlinkedserver   'othersite',   N'SQL   Server'  
   
  /*   Create   a   remote   server   definition   using   a  
        fictitious   name.   */  
  EXEC   sp_addserver   'RPCothersite'  
   
  /*   Set   the   fictitious   nameto   the   network   name   faraway.   */  
  EXEC   sp_setnetname   'RPCothersite',   'othersite'  
   
  然后,就可以在分布式查询或者远程过程调用中引用这两个名称。  
   
  /*   A   distributed   query   referencing   othersite.   */  
  SELECT   *  
  FROM   othersite.Northwind.dbo.Employees  
  /*   A   remote   procedure   call   to   the   same   server.   */  
  EXEC   RPCothersite.master.dbo.sp_who  
  /*   Distributed   queries   can   be   used   to   execute  
        stored   procedures   on   the   other   server.   */  
  EXEC   othersite.master.dbo.sp_who  
   
  通过链接服务器执行的存储过程和通过远程服务器执行的存储过程之间的登录映射机制不同。  
   
  链接   SQL   Server   中的事务考虑事项  
  用于   SQL   Server   的   Microsoft   OLE   DB   提供程序不支持嵌套事务。因此,对于隐性或显式事务的内部数据修改操作和分布式分区视图上的数据修改操作,应将   XACT_ABORT   设置为   ON。  
   
  在隐性或显式事务或分布式分区视图内部,不支持对同一   SQL   Server   实例的环回连接。  

分享到:
评论

相关推荐

    sqlserver离线安装包

    在某些特定情况下,如在没有互联网连接的服务器或者网络环境受限的环境中,我们需要使用离线安装包来安装 SQL Server。"sqlserver离线安装包" 提供了这样一种解决方案,使得我们可以在无网络的情况下完成 SQL Server...

    SQL Server Native Client 10,以便于SQLserver高版本可以链接SQLserver2000

    压缩包内附带链接服务器创建脚本方式,此SQL Server Native Client 10.0无病毒,有64位和32位可供选择。SQL Server Native Client 11.0 不支持连接到 SQL Server 2000 或更早的版本。 通过安装SQL Server Native ...

    sql server 课程设计案例

    在SQL Server课程设计案例中,我们可以深入学习和理解SQL Server这一强大的关系型数据库管理系统。SQL Server是由Microsoft开发的,广泛应用于企业级数据管理和分析。它提供了丰富的功能,包括数据存储、查询、报表...

    40集SQL Server 基础入门视频教程 SQL Server 数据库基础入门必备课程

    1.SQL Server 2014简介.mp4 10.SQL Server 2014定义表主键、外键.mp4 11.SQL Server 2014新增表记录.mp4 12.SQL Server 2014查询表记录.mp4 13.SQL Server 2014修改表记录.mp4 14.SQL Server 2014删除表记录....

    利用MysqlODBC把Sqlserver数据库导入到Mysql中

    使用mysql odbc后就比较好办,可以使用sql server的管理工具,也可以使用mysql的管理工具,更可以使用其它方的管理工具。这里介绍一个使用sql的mmc的方法 ,将sql server的数据转化为mysql的数据库,将源和目的反之...

    SQL Server 2012链接服务器到PostgreSQL

    创建完链接服务器后,可以在T-SQL中使用`OPENQUERY`或`EXEC()`命令测试连接。例如: ```sql SELECT * FROM OPENQUERY(PostgreSQLLink, 'SELECT * FROM public.your_table'); ``` 如果一切配置正确,你应该能从...

    SQL SERVER自动导出Word数据库文档

    3. **Transact-SQL与OPENROWSET函数**:在SQL Server中,可以通过Transact-SQL查询数据,并使用OPENROWSET函数将结果集转换为文本或XML格式,然后利用外部程序(如Word)进行处理。例如,可以使用BULK INSERT或...

    SQL Server 18452登录错误

    在“Microsoft SQL Server Management Stdio”中,展开"SQL Server 组",鼠标右键点击 SQL Server 服务器的名称,然后选择"属性",再选择"安全性"选项卡,在"身份验证"下,选择"SQL Server 和 Windows 身份验证模式...

    SqlServer2005 打开 SqlServer2008 mdf文件

    Sql Server 2005 打开 Sql Server 2008 mdf 文件数据库转换是指将 Sql Server 2008 中的数据库文件(mdf 文件)转换为 Sql Server 2005 可以识别的格式,以便在 Sql Server 2005 中使用。这种转换过程需要使用 Sql ...

    sql server2019安装包

    SQL Server 2019是Microsoft推出的一款关系型数据库管理系统,是SQL Server系列中的一个重要版本。它提供了强大的数据存储、处理和分析能力,广泛应用于企业级数据库应用开发和数据分析。在本安装包中,主要包含的是...

    在32位sql server 使用4G以上的内存设置

    在32位操作系统中,SQL Server 2005可以使用 Address Windowing Extensions(AWE)来访问超过4GB的物理内存。AWE是一种机制,可以让32位操作系统访问超过4GB的物理内存,但需要在操作系统和SQL Server中进行特殊配置...

    sqlserver内存释放

    - 在 SQL Server Management Studio (SSMS) 中,右键点击目标 SQL Server 实例,选择“属性” -> “内存”。 - 在“最大服务器内存 (MB)”字段中设置所需的值。 - 可以根据实际情况定期检查并调整该值,以确保 ...

    SQL Server Native Client 10.0

    在SQL Server 2012中,虽然主要推荐使用SQL Server Native Client 11.0,但为了兼容旧版本的SQL Server,如SQL Server 2000,仍然需要使用SQL Server Native Client 10.0。 **1. ODBC与OLE DB接口** - **ODBC**: ...

    java jdk1.8 连接sqlserver数据库使用的扩展jar包-sqljdbc42

    在本例中,我们关注的JAR包是`sqljdbc42.jar`,它是微软官方提供的SQL Server JDBC驱动的一个版本,特别针对JDK 1.8进行了优化。`sqljdbc42.jar` 支持JDBC 4.2规范,允许Java应用程序通过JDBC接口与SQL Server进行...

    sql server中的image类型的数据导出到oracle的clob字段中

    为了将 SQL Server 中的 Image 类型数据导出到 Oracle 的 CLOB 字段中,我们需要使用Java 语言和 JDBC 驱动程序。下面是一个示例代码,演示如何将 SQL Server 中的 Image 类型数据导出到 Oracle 的 CLOB 字段中: ...

    sql server 导入超大SQL脚本文件

    在 SQL Server 2008 中,如果我们要导入超大 SQL 脚本文件(超过 10MB),使用 SQL Management Studio 查询工具可能无法打开脚本文件。这时,我们可以使用 osql 工具来导入超大 SQL 脚本文件。 osql 工具的使用格式...

    kettle 连接sqlserver 驱动

    此外,了解 SQL Server 特有的特性,如存储过程、视图、触发器等,以及如何在 Kettle 中使用它们进行数据处理也是很重要的。Kettle 支持 SQL 查询的执行,可以用于执行 DML(数据操纵语言)操作,比如 INSERT、...

    解决SQLSERVER数据库驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接问题JAR包

    在SQLSERVER数据库的使用过程中,有时会出现一个棘手的问题,即驱动程序无法通过安全套接字层(SSL)加密与SQL Server建立安全连接。这个问题通常表明数据库连接在尝试使用SSL进行加密时遇到了障碍,可能影响数据的...

Global site tag (gtag.js) - Google Analytics