zoukankan      html  css  js  c++  java
  • SQL Server 2012本地发布、订阅及相关问题的解决方案

    今天刚在学数据库的读写分离(主从分离),原本电脑上安装的SQL Server2012是Express版本的,在数据库-->复制下,只有本地订阅,没有本地发布,所以只能把这个版本的数据库删了,装上了Enterprise版本。

    等待数据库装完之后,进入数据库就显示如下页面了

    本地发布和本地订阅都有,为了实现数据库主从分离这个功能,我们还需要开启SQL Server代理服务器,打开本地电脑的服务,启动SQL Server代理服务(默认是没有启动的)

     

    启动完服务就可以了开始实现我们要的功能了,首先,我们创建两个数据库TestA(做为主数据库)和TestB(做为从数据库),

    主数据库的作用一般用于新增、删除、更改操作

    从数据库可以有多个,一般用于查询操作,因为一般网站可能80%的访问是查询。

    本次演示在同一台机器上进行。

    1、新建本地发布

     2、选中需要发布的数据库,以TestA为例

     3、发布类型选择事务发布

     4、把我们需要的表选上(示例只创建了一个表)

     5、如果有需要,可以进行筛选表行

     6、创建快照代理

     7、选中快照代理安全性进行设置

     

     8、填写发布名称,会在本地发布中显示

     9、至此本地发布新建完成(会在本地发布中显示所写的发布名称)

     10、接下来新建本地订阅(右键新建订阅,以TestB为例)

     11、选中发布服务器(有几种选择,本机如下)

     12、如果不是选择本机的(例如查找SQL Server 发布服务器)

     13、分发代理位置

    注意:这里我们选中推送订阅

    当数据库的数据有变更的时候,就会通过订阅和发布系统通知各个从数据库更新

    1、从数据库隔一段时间轮询主数据库,将主数据库中增量的脚本获取后执行(性能低下)

    2、当主数据库有数据更新时,主数据库将增量的数据脚本自动推送给各个数据库执行(性能高效,也是我们使用的这种)

    14、选择订阅服务器,也就是以我们的TestB为例

     15、设置安全性

     

     16、至此本地订阅发布成功

    然而,却出现问题了,在本地订阅中并没有显示发布成功的数据库

    通过一步步查看,在我们刚创建的本地发布中,右键‘查看快照代理状态’

     发现ReplData文件夹下,访问被拒绝,因为需要给它设置一个Everyone的权限

     这时候重新启动代理,就可以顺利启动了

     本地订阅也可以显示了,并且数据顺利同步过去了

     

  • 相关阅读:
    springboot 梳理2--配置druid数据源
    springboot 梳理1--简单整合mybatis
    springmvc 梳理13--@RequestBody 和 @ResponseBody
    springmvc 梳理12--拦截器
    springmvc 梳理11--restful
    如何快速成长为技术大牛?阿里资深技术专家的总结亮了
    一句话+一张图理解——数据结构与算法
    .net 开发人员的瓶颈和职业发展
    c# 对象相等性和同一性
    c# 连等的写法都做了什么?
  • 原文地址:https://www.cnblogs.com/shenghuotaiai/p/12057043.html
Copyright © 2011-2022 走看看