SQL Server性能优化之读写分离

请添加图片描述

理论部分:

数据库读写分离:
主库:负责数据库操作增删改 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.xdnf.cn/news/1535322.html

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

相关文章

【Docker Nexus3】maven 私库

1.部署环境 window 11 x64Docker Desktop 4.34.1 (166053) Docker Engine v27.2.0 1.1.Docker 镜像源 1.1.1.Docker Engine 配置 {"builder": {"features": {"buildkit": true},"gc": {"defaultKeepStorage": "32…

Windows 的 docker 删除容器后 WSL2 磁盘空间不释放的问题

1:Windows 的 docker 删除容器后 WSL2 磁盘空间不释放的问题,成功搞定 见这里的文章: https://blog.csdn.net/ppppppppila/article/details/139653675 2: 重装Docker desktop 或者 当打开Docker Desktop时候,启动dock…

【Arduino】BNO085 姿态的 3D模型 展示方法(映射到 Unity)

总览 1.arduino 代码和库等… 2.Unity 的部分,创建一个 3D 工程,然后创建一个 cube,绑定一个脚本文件 3.效果预览: 【Arduino】BNO085 姿态的 3D模型 展示方法(映射到 Unity) 一、Arduino 部分 1.使用的…

机器学习和深度学习的常见概念总结(多原创图)

目录 使用说明一、未分类损失函数(Loss Function)1. **损失函数的作用**2. **常见的损失函数**2.1. **均方误差(MSE, Mean Squared Error)**2.2. **均方根误差(RMSE, Root Mean Squared Error)**2.3. **平均…

django-admin自定义功能按钮样式

位置在原来的django-admin 栏中的上方【会因为屏幕大小而变换位置】 <!-- 这里是不会替换掉旧的 添加按钮 &#xff0c;而是添加多一个按钮【点击Crawl Data】--> <!-- /home/luichun/lc/Pyfile/Pywebback/app/paqu/templates/admin/yourmodel_changelist.html -->…

游戏爱好者离不开的录屏工具大赏

你用过录屏工具吗&#xff1f;我在做展示方案或者远程会议的时候经常会用到录屏工具。如果你也有录屏的需求那就接着往下看吧。这篇文章我将介绍几款简单教会我们怎么录屏的工具。 1.福昕录屏大师 链接达达&#xff1a;www.foxitsoftware.cn/REC/ 这个软件的操作极为简便。它…

打包部署若依(RuoYi)SpringBoot后端和Vue前端图文教程

打包后端‘ 1&#xff0c;打开若依&#xff0c;点击右侧的Maven展开Maven管理&#xff0c;选择ruoyi>Lifecycle 先双击clean清除原本启动项目时生成的文件。然后点击package等待项目打包&#xff0c;切记要取消运行再打包 打包完成后会在ruoyi-admin>src>target里面…

Axure RP 11 Beta 测试版 发布了,目前是免费试用阶段

Axure RP 11 Beta 已经发布上线了&#xff01;各位产品同学可以从下面的链接下载测试版&#xff0c;体验新功能。目前RP11处于免费试用阶段&#xff0c;没有授权的用户也可以免费使用试用版。 与 Axure RP 的以往版本一样&#xff0c;在 RP11 中保存文件后&#xff0c;无法在低…

cityengine修改纹理创建模型

数据准备 1、建筑shp面数据 2、安装好cityengine软件 3、Arcgis(非必要) 效果 1、新建工程 路径不要放C盘下 2、复制规则文件和纹理 安装软件后,这些素材在电脑上能找到,默认位置是:C:\Users{计算机名}\Documents\CityEngine\Default Workspace\ESRI.lib,如果找不到…

FP7208+FP5207:升压芯片在太阳能灯串中的应用方案

太阳能灯串是一种利用太阳能发电的高效照明装置&#xff0c;由多个太阳能灯泡串联而成。相比传统的电网供电照明设备&#xff0c;太阳能灯串具有无需外部电源、环保节能、安全可靠等优势&#xff0c;受到越来越多人的追捧和使用。 下面&#xff0c;鱼子酱将为大家介绍一套完整…

分析图形学示例报告

一、实验任务 二、主要功能模块 三、代码 //自定义坐标系模块 CDC* pDC GetDC();//获得设备上下文 CRect rect;//定义矩形 GetClientRect(&rect);//获得矩形客户去大小 pDC->SetMapMode(MM_ANISOTROPIC);//自定义坐标系 pDC->SetWindowExt(rect.Width()/4, rect.He…

深度学习-13-小语言模型之SmolLM的使用

文章附录 1 SmolLM概述1.1 SmolLM简介1.2 下载模型2 运行2.1 在CPU/GPU/多 GPU上运行模型2.2 使用torch.bfloat162.3 通过位和字节的量化版本3 应用示例4 问题及解决4.1 attention_mask和pad_token_id报错4.2 max_new_tokens=205 参考附录1 SmolLM概述 1.1 SmolLM简介 SmolLM…

白话:大型语言模型中的幻觉(Hallucinations)

大型语言模型&#xff08;LLM&#xff09;可是自然语言处理和人工智能的一大步。它们能做的事情可多了&#xff0c;比如生成听起来挺靠谱的文本&#xff0c;翻译语言&#xff0c;总结文档&#xff0c;甚至写诗。但你知道吗&#xff0c;这些模型有时候会出现 “幻觉&#xff08;…

idea。正则

正则替换&#xff0c;$ 变量保持不变 to_char(O.CREATED_TIME,"yyyy-MM-dd HH24:m1:ss) aS CREATED_TIME date format(O.CREATED TIME, %Y-%m-%d %H:%6i:%6s) aS CREATED_TIME. 本次正则的目标是&#xff1a;to_char 》date format 以及"yyyy-MM-dd HH24:m1:ss替换…

源码运行springboot2.2.9.RELEASE

1 环境要求 java 8 maven 3.5.2 2 下载springboot源码 下载地址 https://github.com/spring-projects/spring-boot/releases/tag/v2.2.9.RELEASE 3 修改配置 修改spring-boot-2.2.9.RELEASE/pom.xml 修改spring-boot-2.2.9.RELEASE/spring-boot-project/spring-boot-tools…

<Python>基于python使用PyQt6编写一个延迟退休计算器

前言 这两天关于延迟退休的话题比较火&#xff0c;官方也退出了延迟退休计算器的小程序&#xff0c;我们使用python来实现一个。 环境配置 系统&#xff1a;windows 平台&#xff1a;visual studio code 语言&#xff1a;python 库&#xff1a;pyqt6 程序依据 程序的算法依据…

【linux-Day2】linux的基本指令<上>

【linux-Day2】linux的基本指令<上> 一键查看操作系统的重要地位linux下的基本指令&#x1f4e2;ls&#xff1a;显示当前目录下所有的子目录和文件&#x1f4e2;pwd&#xff1a;显示用户当前所在的目录&#xff0c;在windows中&#xff0c;相当于显示当前目录的绝对路径。…

CesiumJS+SuperMap3D.js混用实现天际线分析

版本简介&#xff1a; cesium&#xff1a;1.99&#xff1b;Supermap3D&#xff1a;SuperMap iClient JavaScript 11i(2023)&#xff1b; 官方下载文档链家&#xff1a;SuperMap技术资源中心|为您提供全面的在线技术服务 示例参考&#xff1a;support.supermap.com.cn:8090/w…

Linux:git

hello&#xff0c;各位小伙伴&#xff0c;本篇文章跟大家一起学习《Linux&#xff1a;git》&#xff0c;感谢大家对我上一篇的支持&#xff0c;如有什么问题&#xff0c;还请多多指教 &#xff01; 如果本篇文章对你有帮助&#xff0c;还请各位点点赞&#xff01;&#xff01;&…

Istio下载及安装

Istio 是一个开源的服务网格&#xff0c;用于连接、管理和保护微服务。以下是下载并安装 Istio 的步骤。 官网文档&#xff1a;https://istio.io/latest/zh/docs/setup/getting-started/ 下载 Istio 前往Istio 发布页面下载适用于您的操作系统的安装文件&#xff0c;或者自动…