SQL Server性能优化之读写分离

news2024/9/29 20:22:37

请添加图片描述

理论部分:

数据库读写分离:
主库:负责数据库操作增删改 20%
多个从库:负责数据库查询操作 80%
读写分离的四种模式
1.快照发布:发布服务器按照预定的时间间隔向订阅服务器发送已发布的数据快照
2.事务发布[比较主流常见]:在订阅服务器收到已发布数据的初始快照后,发布服务器将事务流式传输到订阅服务器
3.对等发布:对等发布支持多主复制,发布服务器将事务流式传输到拓扑中所有对等方,所有对等节点可以读取和写入更改,且所有更改将传播到拓扑中所有节点
4.合作发布:在订阅服务器收到已发布数据的初始快照后,发布服务器和订阅服务器可以独立更新已发布数据,更改会定期合并,sqlce只能订阅合并发布

实操部分:

我们演示的是最常使用的事务发布(最下面有发布遇到的问题,如果你有遇到问题,可以先看一下
1.首先我们去创建一个共享文件夹,并且设置为Everyone可读写权限
在这里插入图片描述
2.确认Everyone被创建,且有读写权限
在这里插入图片描述
3.开启文件共享
请添加图片描述
4.接下来我们要去把SQL Server的代理服务打开,且设置为自动启动请添加图片描述
请添加图片描述
5.完成以上动作后,我们就可以去配置分发了
在这里插入图片描述
在这里插入图片描述
我这里因为是本地演示,所以会既是分发服务器也是订阅服务器,所以这里我选择把自己的电脑作为分发服务器
在这里插入图片描述
这里的快照文件夹就是我们之前共享出来的文件地址
在这里插入图片描述
之后就一直下一步直到完成
在这里插入图片描述
成功之后我们在进行发布
在这里插入图片描述
6.本地发布
在这里插入图片描述
在这里插入图片描述
选择要发布的数据库
在这里插入图片描述
选择事务发布
在这里插入图片描述
选择发布的对象,需要注意的是发布的表是必须包含主键的,不然会不允许发布
在这里插入图片描述
可以筛选只有符合要求的数据才分发
在这里插入图片描述
如果需要指定时间进行分发的话,也可以配置下面的项,我这边不需要计划时间,所以选择立即初始化
在这里插入图片描述
在这里插入图片描述
这里我们选择sql server代理账户,这也是前面为什么要将sql server代理服务器保持自动运行的原因之一
在这里插入图片描述在这里插入图片描述
名称自定义
在这里插入图片描述
发布成功即可
在这里插入图片描述
7.本地订阅
完成发布后,我们需要对发布的数据库进行订阅
在这里插入图片描述
在这里插入图片描述
选择我们刚刚的发布
在这里插入图片描述
选择由分发服务器推送,下面那个属于订阅服务器自己去拉取,我们选择推送
在这里插入图片描述
选择要跟分发数据库同步的数据库,已经创建了的就选择对应的数据库,我这里没有,我选择创建,创建好的数据库,会有你对应已经分发的表的表结构
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接下来一直下一步直到完成
在这里插入图片描述
整个事务发布就结束了
在这里插入图片描述

踩坑经历

一.SQL Server保存的用户名和本机用户名不一致,这个坑是因为比如你安装sql数据库的时候,电脑用户名是A,但是你修改了电脑用户名为B,这时候可能就会发生这个问题
在这里插入图片描述
请添加图片描述

处理办法:

--先查一下当前用户名和计算机用户名是否一致
USE master
SELECT @@SERVERNAME
--删除旧的用户名
sp_dropserver 'DESKTOP-COJGBFG'
GO
--使用现在的用户名
sp_addserver 'DESKTOP-COJGBFG', LOCAL
GO

然后重启sql server的服务,需要注意,需要再去手动启动一下sql server代理服务
需要用到管理员命令符,否则可能提示没有权限
请添加图片描述

停止服务
请添加图片描述
启动服务,不含代理服务
请添加图片描述
接下来,你可以去看看是否正常了,大概率还是有问题,你可以选择
1.去修改登录用户名为当前电脑用户名,我试了修改不了
2.把电脑用户名修改为sql server保存的用户名,这个比较推荐,我试了是完全可以的

二.SQL Server 阻止了对组件“Agent XPs”的 过程“dbo.sp_set_sqlagent_properties
这个我忘记截图了

运行下面的代码即可

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Agent XPs', 1;
GO
RECONFIGURE
GO

三.还有一个终极大坑,是sql server的版本,我在公司电脑上装的sql server2016版本,然后我进行上面的操作,解决所有报错,而且所有分布正常之后,数据库依旧不会同步,且共享文档里面没有产生快照,新建的数据库里面也没有发布的表结构,作业里面倒是一直在报错,但是它也不写为什么报错,这种就很鸡贼,然后我就在自己家的时候,使用了sql server2019版本,然后跟上面同样的操作,结果发布是没有任何问题的,两个数据库也成功实现了主从同步,猜测可能是版本问题,或者我数据库没有装好,请添加图片描述
或者是文件权限问题,我觉得文件权限问题的可能性比较大,因为我觉得操作没问题就没有再去深度挖了,知道的小伙伴可以给个评论告知一下为什么
在这里插入图片描述

四:还要补充一个,如果有些小伙伴提示复制没有安装那就去sql server管理里面去安装一下就行
在这里插入图片描述
去添加复制就行,这个电脑我找不到安装路径了,就不演示了
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2136633.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

roctracer 的应用示例

1,不用 roctracer 的普通场景 mt.cpp /* Copyright (c) 2018-2022 Advanced Micro Devices, Inc.Permission is hereby granted, free of charge, to any person obtaining a copyof this software and associated documentation files (the "Software")…

哪款宠物空气净化器是除浮毛王者?希喂、范罗士、霍尼韦尔宠物空气净化器实测

养宠人绕不过的痛——掉毛!脱毛!又到了掉毛季,就连空气中都有毛毛……不管遇到谁,都知道你养猫养狗了——只因T恤变身毛线衫、毛毛怎么都粘不干净。不止是衣服上,地板上、沙发上、桌面上,哪哪都是毛。开始养…

从头开始学MyBatis—02基于xml和注解分别实现的增删改查

首先介绍此次使用的数据库结构,然后引出注意事项。 通过基于xml和基于注解的方式分别实现了增删改查,还有获取参数值、返回值的不同类型对比,帮助大家一次性掌握两种代码编写能力。 目录 数据库 数据库表 实体类 对应的实体类如下&#x…

【目标检测】labelimg图像标注软件的使用流程

一、labelimg检测图片标注 1、下载labelimg.exe 链接:https://pan.baidu.com/s/1yk8ff56Xu40-ZLBghEQ5nw 提取码:vj8f 下载的文件是编译好的,可执行的labelImg.exe文件。直接将文件放在windows环境下,双击可执行。(如果…

典型BUCK电路学习和设计

手把手教你设计12V3Abuck降压电路-2-相关输入参数讲解_哔哩哔哩_bilibili 这里是输入电容,先过大电容(电解电容)再过小电容(陶瓷贴片电容,高频率波) 输出也可以同理 开关电源不能带负载的原因&#xff0c…

uniapp vue3 梯形选项卡组件

实现的效果图&#xff1a; 切换选项卡显示不同的内容&#xff0c;把这个选项卡做成了一个组件&#xff0c;需要的自取。 // 组件名为 trapezoidalTab <template> <view class"pd24"><view class"nav"><!-- 左侧 --><view cla…

--链表--

一.链表的概述 二.逻辑图 三.代码详解 //1.定义关于链表的结构体 #include <iostream> #include <stdlib.h> #include <assert.h> using namespace std; typedef int SLTDateType;//适用于不同的数据类型 typedef struct SListNode {SLTDateType data;//数据…

【Day14-单例设计模式动态代理】

单例设计模式 什么是设计模式&#xff08;Design pattern&#xff09; ? 一个问题通常有n种解法&#xff0c;其中肯定有一种解法是最优的&#xff0c;这个最优的解法被人总结出来了&#xff0c;称之为设计模式。设计模式有20多种&#xff0c;对应20多种软件开发中会遇到的问题…

记录开发一个英语听力训练网站

背景 在当前全球经济衰退的背景下&#xff0c;IT相关的工作在国内的竞争也是越来越激烈&#xff0c;为了能够获得更多的可能性&#xff0c;英语的学习也许能为程序员打开一扇新的窗户&#xff0c;比如很多远程的工作尤其是国际化背景的工作团队&#xff0c;英语的协作沟通是必…

Modbus通信

Modbus是一种经典的工业通信协议&#xff0c;由Modicon&#xff08;现为施耐德电气&#xff09;在1979年首次发布。它广泛应用于各种工业自动化系统中&#xff0c;尤其是在PLC&#xff08;可编程逻辑控制器&#xff09;与其他设备之间的通信。Modbus的主要特点是其简单性和开放…

《Oracle(一)- 基础》

文章目录 一、Oracle简介&#xff08;一&#xff09;什么是ORACLE&#xff08;二&#xff09;ORACLE 体系结构1.数据库2.实例3.数据文件&#xff08;dbf&#xff09;4.表空间5.用户 二、ORACLE 安装与配置&#xff08;一&#xff09;VMware 挂载 windows server 2003&#xff0…

海外短剧系统一站式开发+h5,app双端

前言&#xff1a; 海外短剧是指那些制作时间短、剧情紧凑、内容丰富的剧集&#xff0c;主要在海外市场&#xff08;如北美、欧洲、东南亚等&#xff09;播放并受到欢迎。 而海外短剧系统是指一种用于制作和播放海外短剧的系统。该系统通常由电视台、制片公司或在线视频平台使…

C++:STL详解(一)string类的基本介绍与使用方式

✨ Blog’s 主页: 白乐天_ξ( ✿&#xff1e;◡❛) &#x1f308; 个人Motto&#xff1a;实践是检验真理的唯一标准&#xff01;&#xff01;&#xff01;敲代码需要勤快点&#xff01;&#xff01;&#xff01;&#xff01; &#x1f4ab; 欢迎来到我的学习笔记&#xff0…

十二,Spring Boot 异常处理(自定义异常页面,全局异常,自定义异常)

十二&#xff0c;Spring Boot 异常处理(自定义异常页面&#xff0c;全局异常&#xff0c;自定义异常) 文章目录 十二&#xff0c;Spring Boot 异常处理(自定义异常页面&#xff0c;全局异常&#xff0c;自定义异常)1. 基本介绍2. 自定义异常页面3. 全局异常4. 自定义异常5. 补充…

LineageOS刷机教程

版权归作者所有&#xff0c;如有转发&#xff0c;请注明文章出处&#xff1a;https://cyrus-studio.github.io/blog/ LineageOS 是一个基于 Android 开源项目&#xff08;AOSP&#xff09;的开源操作系统&#xff0c;主要由社区开发者维护。它起源于 CyanogenMod 项目&#xff…

数据库索引底层数据结构之B+树MySQL中的页索引分类【纯理论知识,干货分享,面试必备】

目录 1、索引简介 1.1 什么是索引 1.2 使用索引的原因 2、索引中数据结构的设计 —— B树 2.1 哈希 2.2 二叉搜索树 2.3 B树 2.4 最终选择之——B树 2.4.1 B树与B树的对比(面向索引)【面试题】 3、MySQL中的页 3.1 页的使用原因 3.2 页的结构 3.2.1 页文件头和页文件…

解锁定位服务:Flutter应用中的高德地图定位

前言 在现代移动应用开发中&#xff0c;定位服务已成为一项基本功能&#xff0c;它使得应用能够获取用户的地理位置信息&#xff0c;为用户提供更加个性化的服务。 Flutter 作为跨平台的移动应用开发框架&#xff0c;支持集成多种服务&#xff0c;包括定位服务。 本文将介绍如…

HR8870:可PWM控制,4.5A直流有刷电机驱动数据手册

HR8870芯片描述 HR8870是一款直流有刷电机驱动器&#xff0c;适用于打印机、电器、工业设备以及其他小型机器。两个逻辑输入控制H桥驱动器&#xff0c;该驱动器由四个N-MOS组成&#xff0c;能够以高达4.5A的峰值电流双向控制电机。利用电流衰减模式&#xff0c;可通过对输入进行…

故障码格式解析

中&#xff0c;诊断故障码&#xff08;DTC, Diagnostic Trouble Code&#xff09;是由一个字母前缀和三个后续字符组成的。这些字母前缀根据故障所属的系统类别来区分&#xff0c;具体如下&#xff1a; B0 -- B3&#xff1a;表示车身系统&#xff08;Body&#xff09;的故障码…

Linux CTF逆向入门

1.ELF格式 我们先来看看 ELF 文件头&#xff0c;如果想详细了解&#xff0c;可以查看ELF的man page文档。 关于ELF更详细的说明&#xff1a; e_shoff&#xff1a;节头表的文件偏移量&#xff08;字节&#xff09;。如果文件没有节头表&#xff0c;则此成员值为零。 sh_offset&…