最简单的SQLserver,发布订阅教程,保证一次就成功

发布订阅用来做数据库的读写分离,还是很好用的

当单台数据库的压力太大时,可以考虑这种方案,一主多从,主服务器的数据库只管写入,其他的数据库都是只读也是一种很好的方案

开始

我们选择A服务器做为发布的服务器, 

B服务器做为订阅的服务器,

第一部分A服务器

选择要A服务器,选择 “复制”,“本地发布”,右键本地发布

如果是第一次会有如下,一直点下一步

注意:..\ ReplData这个文件夹是发布所在的文件夹,要保持访问权限,当在c盘时,有时可能会出现无法访问,我这里一般会给ReplData这个文件夹加上everyone权限

选择要发布的数据库

注意:这个数据库要有过完整备份

选择发布类型

注意:实时性高,数据量大的一般选择事务发布比较好

 

一直点下一步

注意,这一步很关键

注意:1,不要用sa账户,单独再新建一个sqlserver账户,而且要有该数据库的db_owner权限,

我们来添加一个test账户  找到“安全性”,右键“登录名”

点击“用户映射”更改一下test账户权限

这个test账户一定要有你即将要发布的数据库的public和db_owner权限

然后:在B服务器上进行一模一样添加test账户的操作,后面会用到

添加完成之后继续发布,加上我们添加的Test账户

 

有个警告,说代理没运行

找到sqlserver管理器,将代理运行起来,

,B服务器也进行相同的操作,保证sqlserver代理都是开着的

到这里还不够

下一步,配置host,找到 A服务器文件  c:\windows\system32\drivers\etc下的hosts文件

在最后一行填上B服务器的ip 和主机名, 注意,ip和名字之间隔空格,这个ip可是是内网,也可以是公网

 

然后A服务器就完备了,没啥事了,接下来配置B服务器,

第二部分,B服务器

在B服务器进行相同的操作主机上进行相同的添加host操作

将A服务器的ip 和主机名 添加到B服务器的hosts文件下面,

然后开始创建订阅

选择查找SqlServer服务器,这里服务器名称写A服务器的名称,不能用ip,用刚才在hosts文件里面那个A服务器的主机名

使用sa或者刚才创建的test账户登录,登录成功后,会看到A服务器的发布

选择上面的,推送订阅,好处是便于集中管理

账户还用刚才创建的那个test

然后一直下一步,直到完成

创建完成

测试一下,在A服务器添加一条数据

可以看到,B服务器马上也有了,删除修改也会同步,到这里就全部成功

其他

在A服务器上面查看订阅的状况

右键当前的发布,“启动复制监视器”

可以看到当前的状况,

如果订阅没有成功,或者数据没能同步,可以在这里看看日志,查找原因。

常见问题

 1,  两台主机的 1433端口互相不通

 2,  SqlServer Agent 代理没有开启

3,  没有配置 hosts 文件中的ip和主机名映射

4,  ReplData文件夹权限不足

5,  发布订阅前没有进行完整备份

(联系作者,QQ 634892969)

最简单的SQLserver,发布订阅教程,保证一次就成功的更多相关文章

  1. SqlServer发布订阅

    我们在开发系统的时候,经常会遇到高并发的问题,还有高可用性和安全性方面的考虑,需要用读写分离的方案来解决问题.也就是在我们使用数据库比较多,更新少而查询比较多的情况下使用读写分离,实现提高性能,减少数 ...

  2. SqlServer发布订阅错误收集

    原文:SqlServer发布订阅错误收集 目录 1. SqlServer发布订阅错误收集 1.1. Message:脚本对于表"dbo.table"失败. 1.1.1. 错误消息 ...

  3. SQLServer 发布订阅(Replication)造成的Memroy压力(cmemthread等待)

    深入了解下发布订阅:     数据复制:允许一个数据源向一个或多个目标数据库分发数据,只需要OLE DB 访问接口即可访问: 整个复制框架包含:复制组件,复制代理,复制类型: 复制组件: 发布服务器: ...

  4. 知方可补不足~Sqlserver发布订阅与sql事务的关系

    回到目录 前几讲说了一下通过sqlserver的发布与订阅来实现数据的同步,再通过EF这个ORM架构最终实现架构系统的读写分离,而在使用发布与订阅来实现数据同步时,需要我们注意几点,那就是当操作被使用 ...

  5. Redis(8)——发布/订阅与Stream

    一.Redis 中的发布/订阅功能 发布/ 订阅系统 是 Web 系统中比较常用的一个功能.简单点说就是 发布者发布消息,订阅者接受消息,这有点类似于我们的报纸/ 杂志社之类的: (借用前边的一张图) ...

  6. Spring Data Redis实现消息队列——发布/订阅模式

    一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式.利用redis这两种场景的消息队列都能够实现. 定义:生产者消费者模式:生产者生产消息放到队列里,多个消费者同时监听队列, ...

  7. redis实现消息发布/订阅

    redis实现简单的消息发布/订阅模式. 消息订阅者: package org.common.component; import org.slf4j.Logger; import org.slf4j. ...

  8. JS中的发布订阅模式

    一. 你是如何理解发布订阅模式的 JS中的设计模式: 单例模式:处理业务逻辑 构造原型模式:封装类库,组件,框架,插件等 类库:jQuery 只是提供了一些常用的方法,可以应用到任何的项目中,不具备业 ...

  9. SQLServer 2008 R2 发布订阅配置指南

    原以为配置SQLServer 2008 R2的发布订阅很简单,实际配置后才发现过程中有问题地方一直都没搞明白,最后经过几天的查找问题和实践,终于搞定了.现将过程记录如下. SQLServer 2008 ...

随机推荐

  1. webpack学习记录 - 学习webpack-dev-server(三)

    怎么用最简单的方式搭建一个服务器? 首先安装插件 npm i --save-dev webpack-dev-server 然后修改 packet.json 文件 "scripts" ...

  2. 【nginx】nginx日常命令

    看下nginx命令的帮助信息 [root@localhost oa_workflow_test]# /usr/local/nginx/sbin/nginx -h nginx version: ngin ...

  3. 洛谷P5289 皮配

    解:观察一波部分分. 首先小数据直接暴力4n,然后考虑背包.设f[i][a][b][c]表示前i个学校中前三位导师分别有多少人,第四位导师可以直接推出来. 然后暴力枚举每一个人放在哪进行背包. 进一步 ...

  4. linux串口编程设置(转载)

    (转载)在嵌入式Linux中,串口是一个字设备,访问具体的串行端口的编程与读/写文件 的操作类似,只需打开相应的设备文件即可操作.串口编程特殊在于串 口通信时相关参数与属性的设置.嵌入式Linux的串 ...

  5. rsync实时同步服务部署

    部署rsync服务 一.需求:把客户端文件同步到服务端指定位置服务端:备份服务器为 172.16.3.164客户端:推送服务器为 172.16.3.94 二.基础知识: rsync 分为服务器端.客户 ...

  6. python格式化输出的几种方式

    第一种  字符串拼接  就不写了 下面的是 第二 第三 第四种 name = input("name:") age = int(input("age:")) p ...

  7. BZOJ3932 主席树

    https://www.lydsy.com/JudgeOnline/problem.php?id=3932 题意:给出一些带有等级的线段,求一点上前K小个等级线段的等级之和 询问是对于每一个点询问前K ...

  8. prometheus 标签使用

    标签的配置使用 考虑到要明智地使用标签,我们需要给事物重新命名.在一个集中的.复杂的监视环境中,我们有时无法控制正在监视的所有资源以及它们公开的监视数据.重新标记允许在自己的环境中控制.管理和潜在地标 ...

  9. 分布式监控系统开发【day37】:填充表配置项目(三)

    一.注册站点初始化数据库 1.目录结构 2.初始化数据库 python3 manage.py makemigrations python3 manage.py migrate #django2.0之前 ...

  10. 报表工具-ECharts 特性介绍

    ECharts 特性介绍 ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,S ...