学习:https://www.bilibili.com/video/BV13B4y1h7Wu?p=12&spm_id_from=pageDriver&vd_source=3f21d2e208ef0bf2c49a9be7560735e5

学习:https://www.cnblogs.com/sdadx/p/6418871.html

学习:https://blog.csdn.net/songjuntao8/article/details/119942226

背景:

在实际应用项目开发中,应用数据基本上都存储在数据库中,针对数据库的操作有增删改查操作。

有时为了解决并发大数据访问问题,我们需要使用数据库读写分离,主库用来实现应用数据的增删改操作,而从数据库主要用来进行查询操作

一个主库:写操作服务器

多个从库:查询操作的服务器--承载80%的查询动作--查询动作由多个服务器来支撑--做到了负载均衡。

写库必然需要把操作同步到查询库中:

增删改:主控

查询库:从库

一主多从

数据如何复制,采用的是数据库日志(对于每一个操作都有1个记录)

1,数据同步有延迟,有办法解决的。

2,多个数据库之间,表结构,数据库输出的量都是一样的。

1,删除发布和订阅

如果之前配置过了,需要先删除

1、删除单个的发布 : 复制-->  本地发布--> 右击--> 删除,然后再把对应的订阅服务器删除掉

2、删除全部的发布: 复制--> 右击 --> 禁用发布和分发,这个会同时的把分发服务器的配置清掉,需要重新配置的哦

参考:https://www.cnblogs.com/zerocc/p/3200714.html

2,配置分发

准备工作:

【2.1】启动数据库的服务引擎(默认都是开启的)

【2.2】在开始菜单中找到Sql Server Configuration Manger页面配置,手动启动

【2.3】SQLServer要用本机名登录,不能Localhost

【2.4】布置分发

【2.5】快照地址这个文件夹要设置共享,不要方C盘。

【2.6】配置完成后,这个文件夹多了2个文件

3,发布

把某个数据库发布出去,你可以订阅我

把主库发布出去,从库可以订阅

【3.1】

【3.2】出现警告:无法启动快照代理,快照文件夹里面也没有多出来文件。

【3.3】在服务中把这个代理服务打开

【3.4】删除没成功的发布,重新执行3.1的步骤,就全部发布成功了。

【3.4】发布成功后,会多出unc这个文件夹

4,订阅

【4.1】

【4.2】从库中有主库的数据了

【4.3】重复4.1,再新建一个从站,实现一主两从

5,测试

【5.1】主库新增一条数据,2个从库也会自动同步更新。

主库删除数,2个从库也自动删除数据。

修改从库的数据,主库不会自动更新。

结果:主库增删改,从库会自动更新。从库增删改,主库不会自动更新。

问题:读写分离,对于我们写程序而言,增删改需要找主库,查询需要找从库,程序代码就很麻烦啦。

SQL Server 2012主从数据库的订阅和发布,实现数据库读写分离(主从备份)的更多相关文章

  1. SQL Server 2012实施与管理实战指南(笔记)——Ch4数据库连接组件

    4.数据库连接组件 访问数据库有多种不同的技术,包括ADO,ODBC,OLEDB,ADO.NET等这些都有一些共性.首先要建立连接(Connection),然后通过命令(Command)对数据库进行访 ...

  2. Microsoft SQL server 2012数据库学习总结(一)

    一.Microsoft SQL Server2012简介 1.基本概要 Microsoft SQL Server 2012是微软发布的新一代数据平台产品,全面支持云技术与平台,并且能够快速构建相应的解 ...

  3. Azure Backup (1) 将SQL Server 2012虚拟机中数据库备份到Azure Storage

    <Windows Azure Platform 系列文章目录> 本文介绍的是由国内世纪互联运维的China Azure,相比国外的Global Azure.主要区别是存储账号的DNS地址不 ...

  4. SQL Server 2012 复制(发布订阅的研究)

    原文:SQL Server 2012 复制(发布订阅的研究) 已实现发布订阅功能,可以实现局域网内双击备份. 一.注意事项: a) 使用[事务复制]功能 b) 必须是相同的SqlServer 帐号和密 ...

  5. SQL SERVER 2012 修改数据库默认位置不立即生效

    今天修改SQL SERVER 2012的数据库默认位置:即数据文件.日志文件默认位置时遇到一个问题,单击"服务器属性"(Server Properties)--> 数据库设置 ...

  6. SQL Server 2012 数据库笔记

    慕课网 首页 实战 路径 猿问 手记     Python 手记 \ SQL Server 2012 数据库笔记 SQL Server 2012 数据库笔记 2016-10-25 16:29:33 1 ...

  7. 在Vs2012 中使用SQL Server 2012 Express LocalDB打开Sqlserver2012数据库

    http://www.cnblogs.com/huangtailang/p/4221164.html 背景:个人电脑中使用的是VS2012,数据库为2008R2,最近需要打开一个SqlServer20 ...

  8. SQL Server 2012 连接到数据库引擎

    第 1 课:连接到数据库引擎 https://msdn.microsoft.com/zh-cn/library/ms345332(v=sql.110).aspx   本课将介绍主要的工具以及如何连接并 ...

  9. Microsoft SQL Server 2012 数据库安装图解教程

    本文部分引用以下文章: SQL Server 2012 安装图解教程(附sql2012下载地址)_MsSql_脚本之家 http://www.jb51.net/article/36049.htm SQ ...

  10. SQL Server 2012 数据库各个版本功能对比

    作为这篇SQL SERVER 2008数据库各版本功能对比 的姊妹篇,就写点SQL Server 2012 各个版本的区别以及物理以及逻辑上的限制. 个部分来分http://technet.micro ...

随机推荐

  1. 与ChatGPT关于测试问题的对话

    1测试人员创造什么价值? 测试人员在软件开发生命周期中扮演着非常重要的角色,他们的主要职责是确保软件在发布前达到高质量标准.以下是测试人员为软件开发和业务提供的价值: 1.缺陷检测和修复:测试人员的主 ...

  2. vue3 setup语法糖下,vue自定义指令的实现,以及指令全局挂载,自定义v-loading的实现

    最近一段时间,在做h5的移动端项目,UI组件库使用的vant,vant组件中的loading实在难用,无法包裹某个块进行loading,也无法对非组件的标签进行loading,所以想着自定义写个指令, ...

  3. P6329 【模板】点分树 | 震波

    \(\text{Solution}\) 点分树就是将点分治过程中的重心连成一棵虚树 对点分树子树信息的记录,就是点分治处理每个重心时需要的信息 这样就可以留下点分治的过程,支持多次修改和查询 点分树树 ...

  4. LG P3803 【模板】多项式乘法

    \(\text{FFT}\) 模板 #include <cstdio> #include <iostream> #include <cmath> #define r ...

  5. JZOJ 4043. 【雅礼集训2015Kzf】洪水

    题目 题解 很明显的 \(dp\) \(f_u = \min(a_u, \sum_{(u,v) \in E}f_v)\) 然后套路的设 \(g_u\) 表示不管重儿子的 \(f_u\) \(f_u = ...

  6. Sonarqube安装(Docker)

    一,拉取相关镜像并运行 # 拉取sonarqube镜像 docker pull sonarqube:9.1.0-community 在运行之前要提前安装postgres并允许,新建数据库名为sonar ...

  7. Linux的终端(base),进入base环境

    正常界面,如下 带有(base) 一般是由于安装了conda环境管理软件,它自带一个base环境.第一次安装时出现这种情况可能是由于软件将启动base环境的命令写入-/.bashrc 文件,这就相当于 ...

  8. api规范PHP,RESTful API规范(详细版)

    rest 是一种软件架构风格,如果你们的接口是 rest 接口,那么就可被认为你们的的接口是restful的,英文名词和形容词的区别. rest 接口是围绕"资源"展开的,利用HT ...

  9. 面向对象程序设计A第一次blog

    一.前言 第一次题目集总结-- 题量:较多 难度:较低 知识点: 简单的输入输出 一些简单的运算和类型转换 一些简单的循环.选择.字符串.数组的使用 总结:题目比较简单,题量较多,内容就是一些简单的输 ...

  10. canvas实现屏幕截图

    1.引入html2canvas.js 2.调用 2.1 <script src="html2canvas.js"></script> 2.2 定义一个div ...