SQL Server 跨服务器发布/订阅

------------------------------------------------第一步: 准备工作------------------------------------------------

准备工作1: 配置机器名和数据库服务名一致

先检查A,B中的机器名和数据库服务名是否一致,这个很重要!

查看方法: 

1.检查SQL Server 的服务器名称

1
2
3
4
use master
go
select  @@servername
select  serverproperty( 'servername' )

 

如果查出来的两个名字不一样,那就需要把他们的名字改成一样的,方法如下:

2.删除所有之前配置的publishers('old_server_name'为之前的服务名)

1
2
3
4
5
select  from  msdb.dbo.MSdistpublishers
DELETE  FROM  msdb.dbo.MSdistpublishers
select  from  msdb.dbo.MSdistpublishers
exec  sp_droplinkedsrvlogin  'old_server_name' , null
exec  sp_dropserver  'old_server_name' 'droplogins'

 

执行完后,重启SQL Server服务

3.配置计算机名与服务名一致

1
2
3
4
5
6
7
8
9
10
USE master
  GO
  if serverproperty( 'servername' ) <> @@servername  
begin  
        declare  @server sysname  
        set    @server = @@servername  
        exec  sp_dropserver @server = @server  
        set    @server =  cast (serverproperty( 'servername' as  sysname)  
        exec  sp_addserver @server = @server , @ local  'LOCAL'  
end

 

4.查看服务名

1
sp_helpserver

  

 

准备工作2: 配置数据库服务器名称的别称

 

因为数据库发布和订阅,不能用ip登陆,必须用服务名登陆

方法之一是改服务器的登陆别称!

 

首先在本机B配置连接服务器A的登陆别称: 

先在[开始],[所有程序]中打开[SQL Server配置管理器]:

 

 在[SQL Native Client 10.0配置(32位)]中的别名中配置,如图:

 

这里的别名必须和服务器B的服务器名一致也就是GUANWANG1,实际的按照自己的名字改动;

端口号是:1433

服务器是对应的服务器机器的IP地址

协议是TCP/IP

 

同理,在下面的[SQL Native Client 10.0配置]中也一样配置下!

 

 

 然后在服务器A中也要配置访问本机B的别称,这一步不能少,否则后面本地订阅的时候会失败并报错,"进程无法连接到 Subscriber“PC-LLRDBA”。 "

切记,这里是双向的,当初我查了好久才想起来,服务端也要配置这个......

具体的方法同上:注意别名是本机B的服务名PC-LLRDBA, IP是本机的IP,实在不知道在cmd下config一下就有了!

 

 

 

准备工作好了后,就进行第二步发布

------------------------------------------------第二步:发布------------------------------------------------

登陆服务器A数据库,用别名登陆:

在[复制],[本地发布]中右键新建发布

 

 

 

选择你要发布的数据库

 

选择发布类型:(具体选哪种,自己百度下各种的差异),我这里选事务发布

 

 可以选择发布的对象(表,存储过程,视图等等),也可以选择部分内容,点开勾选就行了

 

 如果没有特别筛选的,就直接下一步(比如说我只要同步Order表中2014年以后的数据,那么你可以点添加,增加筛选条件)

 

 

选择立即xxx,继续下一步

 

 

输入发布服务器的sa账户登陆密码就行了

 

 

 

 

 

 

 

 

OK,到此发布完成,你可以刷新后查看:

 

 

------------------------------------------------第三步:订阅------------------------------------------------

 

 这里选择查找SQL Server发布服务器

 

 

 

选中需要的订阅的数据库发布:

 

 

 

 

在本地新建一个同名的数据库:

 

 

 

 

 点击与订阅服务器的连接下面的按钮

 

 

 

选择定义计划: 

 

 

 

 

 

 

 

 

 

 

订阅就完成,然后刷新查看内容:

 

 

 

等过一段时间,数据同步完成后就可以查看数据了,是否一致了!

 ------------------------------------------------订阅完成------------------------------------------------

转载于:https://www.cnblogs.com/yangzhi-blog/p/10337971.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值