Sql Server数据库读写分离配置

准备条件:

1,准备两个服务器,一主一从服务器,两台服务器上分别安装相同的sql Server数据库

2,使用服务器名称登录数据库,不清楚服务器名称的使用下边语句查询

--获取服务器名
select @@servername

3,准备一个主库,这里假如主库数据库名字为:Customer,里边有一张Users表

4,在从库服务器上创建一个空数据库(只读库):Customerread1,里边什么内容也不要创建,所有内容都由主库推送。

5,打开主库上的sql Server配置服务,把sql Server代理服务设置成自动,并且启动,我这里是全部都是启动的

6,如果主库服务器的防火墙是开着的,还要添加一下入站规则(1433端口)

下边开始进入正题:

1,配置分发服务器,在主服务器上操作

在此之前,需要先在主服务器所在的计算机上创建一个共享文件夹,下边要用来充当快照地址,

D盘(或其他盘)-->新建文件夹-->属性-->共享-->这里共享用户设置的为 Administrator

同时要设置 sql Server代理服务的访问账户也要是:Administrator,否则到时候会因为访问权限问题导致发布失败!

我这里设置的为这台电脑的登录账户密码!

接下来正式开始:

将自己本身充当分发服务器

这一步默认即可

快照地址就是上边创建的共享文件夹地址

 

将分发数据库名称加了个日期,可以自定义

 

默认下一步

 

 

最后遇到一个错误,下图所示,意思是需要将 sql代理服务设置成自动启动

如下设置,将代理设置成自动启动即可。

 

2,本地发布

点击 本地发布-->新建发布

选择主库:Customer

选择--》事务发布

  • 快照发布:隔一段时间会覆盖订阅服务器的数据库,在订阅服务器上做的修改同样被覆盖;
  • 事务发布:是一种接近实时地从源到目标分发数据的方法;
  • 具有可更新订阅的事务发布:订阅服务器可更新发布服务器的数据;
  • 合并发布:发布服务器和订阅服务器的更新都会同步到对方,注意ID在合并发布上的冲突

选择要同步的表,这里只有一张 Users表

 

默认下一步

 

选择,立即创建快照

 

配置-->安全设置

 

名字随便起

刷新数据库,即可看见生成一个发布文件

3,推送订阅

选择 publish-20200303这个发布文件,右键-->新建订阅

(只要从库服务器足够多的,这里可以无限制的创建推送订阅,想要几个只读库就创建几个,哈哈)

 

默认下一步

 

因为是在主库上创建,这里选择~~推送订阅

 

默认显示本地的服务器,这里需要添加另一台服务器

 

注意:这里使用另一台服务器的,服务器名称链接

 

选择事先创建的一个空数据库:CustomerRead1

 

设置服务器链接

 

 

默认即可,下一步

 

成功之后,你会发现发布服务下多了一个服务

选择发布服务-->启动复制监视,可以查看数据同步日志

 

这时候,我们看到另一台服务器上的只读库已经成功同步过来数据!

这时候我们新增一条数据,看下效果!

数据基本上1s左右就同步过来了

 

posted @ 2021-03-03 18:12  找.net工作(北京)  阅读(568)  评论(0编辑  收藏  举报