Sql Server 2017主从配置之:发布订阅
使用发布订阅模式搭建Sql Server 2017主从同步,类似事件通知机制,基本可以做到准实时同步,可以同时做到一对多的数据同步。
不过发布订阅模式,只能同时数据,不能同步表结构。在创建发布的时候,需要选择需要同步的表对象,如果有新增表需要做同步,那就需要重新选择表对象,然后重新发布快照。
该模式在同步时候,不影响从库使用。
环境准备
两台服务器,配置都是8g2核,50g硬盘,操作系统版本Windows Server 2019 Datacenter
- 主库:server1,192.168.56.110
- 从库:server2,192.168.56.111
本人使用虚拟机做模拟配置,在虚拟机操作系统上做如下配置
-
虚拟机配置两张网卡,以便和主机通讯
-
虚拟机启动远程桌面 ,右键左下角win图标-系统-远程桌面,点击启用
-
创建操作系统账户sqadmin,分配管理员权限
-
为方便测试,关闭系统防火墙,控制面板\系统和安全\Windows Defender 防火墙\自定义设置
-
安装Sql Server 2017企业版,个人的Express版本不支持事务日志复制
-
安装SSMS 19.2版本
两台服务共同配置准备
1、创建系统账号sqadmin,设置管理员权限

2、设置服务启动账户sqadmin
打开Sql Server Configuration Manager,进入SQL Server 服务,将SQL Server服务和SQL Server 代理服务的登录身份都改成sqadmin,并设置自动启动

3、配置服务器代理账户
打开SQL Server Management Studio,链接数据库
右键点击链接,选择属性,打开服务器属性面板,点击安全性选项页,勾选启动代理账户,输入sqadmin账户密码

4、创建数据库账户sqadmin,并设置管理员权限


一、主库 server1 配置
创建快照备份文件夹 c:\dbbackup
创建测试数据库test,并创建表t_user、t_company作为测试
注意:每个表都必须有主键,否则无法同步
create table t_user(
id bigint primary key, --主键
name nvarchar(50) not null, --不为空
);
create table t_company(
id bigint primary key, --主键
name nvarchar(50) not null, --不为空
)
新建发布

输入刚创建的备份文件夹 c:\dbbackup

选择要同步的数据库

选择事务发布

选择需要同步的表

这里没有筛选,直接下一步

快照代理,选择“立即创建快照…”,然后下一步

点击“安全设置”,配置快照代理账户

选择立即创建快照,然后点击下一步

随便输入一个发布名称,比如test_bakcup,点击完成


打开快照备份文件夹,可以看见表快照已经成功生成!

至此,主库发布创建完成,接下来到从库创建订阅
二、从库 server2 配置
创建备份数据库 test_bak
新建订阅,下来选择查找发布服务器,

输入主库ip,链接到主库

选择主库的订阅

选择选项一,在分发服务器上运行所有代理,然后点击下一步

选择从库的数据库 test_bak

配置分发代理,输入账号sqadmin

配置完成后点击下一步,直到完成




至此,订阅配置完成,可以看见两个表已经同步过来了

三、测试
查看快照代理状态


注意:如果重新选择了表对象,需要在这里点击“启动”,重新生成新的快照,否则新选择的表对象无法同步到从库

查看从库同步状态


1、在主库创建记录
insert into t_user values (1,'01');
insert into t_user values (2,'02');insert into t_company values (1,'C01');
insert into t_company values (2,'C02');
2、在从库查询
select * from t_user;
select * from t_company;

相关文章:
Sql Server 2017主从配置之:发布订阅
使用发布订阅模式搭建Sql Server 2017主从同步,类似事件通知机制,基本可以做到准实时同步,可以同时做到一对多的数据同步。 不过发布订阅模式,只能同时数据,不能同步表结构。在创建发布的时候,需要选择需要…...
聊聊logback的EvaluatorFilter
序 本文主要研究一下logback的EvaluatorFilter EvaluatorFilter ch/qos/logback/core/filter/EvaluatorFilter.java public class EvaluatorFilter<E> extends AbstractMatcherFilter<E> {EventEvaluator<E> evaluator;Overridepublic void start() {if …...
解决vue 部分页面缓存,部分页面不缓存的问题
前端时间项目迭代,其中有个需求 在vue里面,有a.b.c三个页面,要达到的效果是从a页面进去b页面,b页面需要刷新,但若从b页面进入c页面了以后再回到b页面,b页面需要保留之前的值,不做刷新࿱…...
修完这个 Bug 后,MySQL 性能提升了 300%
最近 MySQL 官方在 8.0.35 上修复了一个 bug: 这个 bug 是由 Mark Callaghan 发现的。Mark 早年在 Google MySQL 团队,后来去了 Meta MySQL,也主导了 RocksDB 的开发。 Mark 在 #109595 的 bug report 给出了非常详细的复现步骤 在官方修复后…...
【C/PTA】数组进阶练习(二)
本文结合PTA专项练习带领读者掌握数组,刷题为主注释为辅,在代码中理解思路,其它不做过多叙述。 目录 7-1 字符串逆序7-2 字符串替换7-3 统计字符出现次数7-4 IP地址转换7-1 删除重复字符7-2 说反话-加强版7-3 数组-回文串7-4 数组-无聊的菇菇…...
Mysql MMM
MMM概述 MMM(Master-Master replication manager for MvSQL,MySQL主主复制管理器) 是一套支持双主故障切换和双主日常管理的脚本程序。 MMM 使用 Perl 语言开发,主要用来监控和管理MySQL Master-Master(双主)复制&…...
GDPU 数据结构 天码行空10
目录 数据结构实验十 树遍历应用一、【实验目的】二、【实验内容】三、【实验源代码】⭐ CPP版⭐ c语言版 四、实验结果 数据结构实验十 树遍历应用 一、【实验目的】 1、了解树的建立方法 2、掌握树与二叉树的转化及其遍历的基本方法 3、掌握递归二叉树遍历算法的应用 二、…...
CD36 ; + Lectin;
CD2 LIMP-2, LGP85 SR-BI, CD36; 清道夫受体蛋白CD36超家族的成员是 脂质代谢 和 先天免疫 的重要调节因子。它们识别正常和修饰的脂蛋白,以及与病原体相关的分子模式。 该家族由三个成员组成: SR-BI &am…...
Git 分支管理
目录 列出分支 删除分支 分支合并 合并冲突 几乎每一种版本控制系统都以某种形式支持分支,一个分支代表一条独立的开发线。 使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。 Git 分支实际上是指向更改快照的指针。 有…...
Vue23全局事件总线
Vue2&3全局事件总线 Vue2全局事件总线 功能:可以解决所有组件之间通信传数据的问题原理:通过一个共享对象,将所有组件全部绑定到对象上,即可通过这个对象实现组件与组件之间的传递数据,而这个共享对象叫做全局事件…...
GEM5 Garnet DVFS / NoC DVFS教程:ruby.clk_domain ruby.voltage_domain
简介 gem5中的 NoC部分是Garnet实现的,但是Garnet并没有单独的时钟域,而是保持ruby一致,要做noc的DVFS,便是要改ruby的 改电压 #这里只是生成一个随便变量名,存一下值。改是和频率一起的 userssaved_voltage_domain…...
java命令 jmap 堆参数分析
jmap -heap pid 展示pid的整体堆信息 bash-4.4# jmap -heap 10 Attaching to process ID 10, please wait... Debugger attached successfully. Server compiler detected. JVM version is 25.172-b11using thread-local object allocation. Garbage-First (G1) GC with 8 th…...
OpenCV C++ 图像处理实战 ——《OCR字符识别》
OpenCV C++ 图像处理实战 ——《OCR字符识别》 一、结果演示二、tesseract库配置2.1下载编译三、OCR字符识别3.1 文本检测方式3.1.1 RIL_BLOCK3.1.2 RIL_PARA3.1.3 RIL_TEXTLINE3.1.4 RIL_WORD3.1.5 RIL_SYMBOL3.2 英文文本检测3.3 中英文本检测四、源码测试图像下载总结一、结…...
在MySQL中创建新的数据库,可以使用命令,也可以通过MySQL工作台
摘要:在本教程中,你将学习如何使用MySQL CREATE DATABASE语句在MySQL数据库服务器上创建新数据库。 MySQL CREATE DATABASE语句简介 要在MySQL中创建新数据库,可以使用CREATE DATABASE语句。以下说明了CREATE DATABASE语句的基本语法: CREATE DATABASE [IF NOT EXISTS] …...
2311rust到31版本更新
1.27.1稳定版 在此修补程序前,下例在编译器内部恐慌. fn main() {let a vec!["".to_string()];a.iter().enumerate().take_while(|(_, &t)| false).collect::<Vec<_>>(); }1.27.1拒绝上述代码,并显示以下错误消息: error[E0507]: cannot move ou…...
【Python百宝箱】视觉算法秀:Python图像处理舞台上的巅峰对决
前言 在数字化时代,图像处理技术已经成为科技和计算机领域中不可或缺的一部分。从医学影像到计算机视觉,图像处理为我们提供了无限的可能性。Python作为一种灵活而强大的编程语言,在图像处理领域表现出色,拥有丰富的库和工具。本…...
Flutter 中在单个屏幕上实现多个列表
今天,我将提供一个实际的示例,演示如何在单个页面上实现多个列表,这些列表可以水平排列、网格格式、垂直排列,甚至是这些常用布局的组合。 下面是要做的: 实现 让我们从创建一个包含产品所有属性的产品模型开始。 …...
YOLOv8 加持 MobileNetv3,目标检测新篇章
🗝️YOLOv8实战宝典--星级指南:从入门到精通,您不可错过的技巧 -- 聚焦于YOLO的 最新版本, 对颈部网络改进、添加局部注意力、增加检测头部,实测涨点 💡 深入浅出YOLOv8:我的专业笔记与技术总结 -- YOLOv8轻松上手, 适用技术小白,文章代码齐全,仅需 …...
.gitignore 文件——如何在 Git 中忽略文件和文件夹详细教程
文章目录 什么是 .gitignore 文件?.gitignore 文件是用来做什么的?如何创建一个 .gitignore 文件?在 .gitignore 文件中应包括什么?如何在 Git 中忽略一个文件和文件夹如何忽略以前提交的文件 什么是 .gitignore 文件?…...
【数据结构(二)】单链表(3)
文章目录 1. 链表介绍2. 单链表应用实例2.1. 顺序添加方式2.1.1. 思路分析2.1.2. 代码实现 2.2. 按照编号顺序添加方式2.2.1. 思路分析2.2.2. 代码实现 3. 单链表节点的修改3.1. 思路分析3.2. 代码实现 4. 单链表节点的删除4.1. 思路分析4.2. 代码实现 5. 单链表常见面试题5.1.…...
为什么选择Espresso?5大优势让快递管理变得前所未有的简单[特殊字符]
为什么选择Espresso?5大优势让快递管理变得前所未有的简单🚀 【免费下载链接】Espresso 🚚 Espresso is an express delivery tracking app designed with Material Design style, built on MVP(Model-View-Presenter) architecture with RxJ…...
Marlin固件稳定性优化实战指南:从基础配置到高级调校的完整解决方案
Marlin固件稳定性优化实战指南:从基础配置到高级调校的完整解决方案 【免费下载链接】Marlin Marlin is a firmware for RepRap 3D printers optimized for both 8 and 32 bit microcontrollers. Marlin supports all common platforms. Many commercial 3D printer…...
QuickDraw MediaPipe手势识别:无需画笔的手势控制绘画应用
QuickDraw MediaPipe手势识别:无需画笔的手势控制绘画应用 【免费下载链接】QuickDraw Implementation of Quickdraw - an online game developed by Google 项目地址: https://gitcode.com/gh_mirrors/qu/QuickDraw QuickDraw MediaPipe手势识别是一款创新…...
Meteor-Files新手教程:从安装到实现第一个文件上传功能的完整步骤
Meteor-Files新手教程:从安装到实现第一个文件上传功能的完整步骤 【免费下载链接】Meteor-Files 🚀 Upload files via DDP or HTTP to ☄️ Meteor server FS, AWS, GridFS, DropBox or Google Drive. Fast, secure and robust. 项目地址: https://gi…...
UE4SS实战指南:虚幻引擎游戏脚本系统的深度解析与应用
UE4SS实战指南:虚幻引擎游戏脚本系统的深度解析与应用 【免费下载链接】RE-UE4SS Injectable LUA scripting system, SDK generator, live property editor and other dumping utilities for UE4/5 games 项目地址: https://gitcode.com/gh_mirrors/re/RE-UE4SS …...
B站视频缓存转换终极指南:5秒完成m4s到MP4的无损转换
B站视频缓存转换终极指南:5秒完成m4s到MP4的无损转换 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾经在B站缓存了珍贵的教…...
AI写文章,你的创作新伙伴
你有没有想过,有一天写文章这件事可以变得像聊天一样轻松?别急着摇头,前阵子我在一个写作论坛里翻到一篇帖子,楼主问大家每天写稿累不累,结果底下好多人分享说,他们现在都靠工具来辅助了。而其中被提到最多…...
如何精准识别高校院所与企业之间的潜在合作机会?
核心要点 传统“相亲角”式校企对接效率低下,根源在于科研供给与市场需求间的信息断层,必须转向以数据驱动、模型研判为核心的精准识别机制,才能将模糊的产学研线索转化为可落地的合作机会。精准识别合作机会的关键在于分拆为“供给侧”与“需…...
UE5 PhysicsControl物理动画入门:手把手教你用蓝图控制骨骼网格体(附完整配置流程)
UE5 PhysicsControl物理动画实战:从零构建骨骼动态模拟系统第一次在Unreal Engine 5的内容示例中看到角色布料自然飘动、头发随奔跑起伏的物理效果时,那种震撼感至今难忘。作为技术美术师,我们常需要在角色动画中追求这种"次世代质感&qu…...
电商App安全防护原理与合规开发实践指南
我不能提供任何绕过应用反抓包机制、破坏应用安全防护或违反平台服务协议的技术方案。 拼多多App作为一款合法合规运营的商业应用,其反抓包机制是保障用户数据安全、交易隐私和平台生态健康的重要技术手段。逆向分析、调试绕过、协议破解等行为不仅违反《中华人民共…...
