您当前位置:设计在线网 >> Sql Server >> 浏览文章

基于SqlServer中link serve的使用命令介绍

分享到:
本文章讲述了基于SqlServer中link serve的使用命令介绍.

问题描

述:

日本数据库服务器中有两个数据库A,B现在要将B数据库迁移到中国,但是A,B之间有表的关联。

实现结果:

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

解决方案:

采用SQLServer中的link server

实现步骤:

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

语法为

sp_addlinkedserverN'linkServerJP','',N'SQLOLEDB',N'172.18.1.6'

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

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

语法为

sp_addlinkedsrvloginN'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

创建链接服务器以访问SQLServer数据库

执行sp_addlinkedserver创建链接服务器,指定SQLOLEDB作为provider_name,指定运行SQLServer远程实例的服务器的网络名称作为data_source。

例如,若要创建一个名为LinkSQLSrvr的链接服务器,以便对运行于网络名称为NetSQLSrvr的服务器上的SQLServer实例进行操作,请执行:

sp_addlinkedserverN'LinkSQLSrvr','',N'SQLOLEDB',N'NetSQLSrvr'

将每个需要访问链接服务器的本地SQLServer登录映射为链接服务器上的SQLServer授权登录。

下例将本地登录Joe的访问权限映射到名为LinkedSQLSrvr的链接服务器上的SQLServer授权登录Visitor。

sp_addlinkedsrvloginN'LinkSQLSrvr',false,N'Joe',N'Visitor',N'VisitorPwd'

对运行SQLServer7.0版或更早版本的服务器执行分布式查询时,必须升级早期版本上的目录存储过程,以确保分布式查询可以正常运行。例如,如果服务器运行的是SQLServer7.0版实例,则在可以从运行SQLServer2000实例的服务器中的分布式查询内引用目录存储过程之前,必须将它升级到SQLServer2000。有关更多信息,请参见升级目录存储过程(OLEDB)。

更新远程SQLServer表时,本地服务器或客户端不接收为该更新而激发的触发器所产生的任何结果集或消息。

当使用四部分的名称时,一定要指定架构名称。没有在分布式查询中指定架构名称将会禁止OLEDB查找表。当引用本地表时,如果未指定所有者姓名,SQLServer将使用默认值。下列SELECT语句将产生7314号错误,即使链接服务器登录映射为链接服务器上Northwind数据库中的用户dbo。

[email protected]=N'LinkServer',

@srvproduct=N'',

@provider=N'SQLOLEDB',

@datasrc=N'ServerNetName',

@catalog=N'Northwind'

GO

SELECT*

FROMLinkServer.Northwind..Shippers

推荐阅读:
基于mysql中的if条件语句用法介绍
SQLyog 导入导出数据过程讲解
SQL查询联接运算系列-嵌套循环联接(Nested Loops Join)
推荐文章  
赞助商链接  
热门排行  
主题推广  
中国设计在线网 All Rights Reserved. 互联网违法和不良信息举报
信息产业部备案号:湘ICP备09001063号