采用自动种子的方式搭建sqlserver alwaysOn,和备份恢复模块

SQLserver的Always On 可用性组 本主题介绍用于在Always On 可用性组中配置和管理一个或多个可用性组的核心SQL Server 2019 (15.x)概念。有关可用性组提供的优势的摘要和Always On 可用性组术语的概述,请参阅AlwaysOn 可用性组 (SQL Server)。 可用性组支持的复制环境适用于一组离散用户数据库,称为“可用性数据库” 。可以创建可用性组以实现高可用性 (HA) 或读取缩放。HA 可用性组是一组共同实现故障转移的数据库。读取缩放可用性组是一组复制到其他 SQL Server ... 阅读详情

什么是自动种子,他的优点和缺点是什么

在 SQL Server 2012 和 2014 中,初始化 SQL Server Always On 可用性组中的次要副本的唯一方法是使用备份、复制和还原。

在一个高可用组里面添加一个数据库需要很多手动任务和一些必要条件。需要完成的这些工作中,有一些是有些困难的,比如:

  • 我们需要从主副本中备份数据库,并将这个备份分发到可用组的其他副本中。这是基于手动操作的,因为这需要你从主数据库备份还原数据库到次要副本。
  • 有时候,我们不能通过网络防火墙在副本之间传送数据库备份文件。这种情况下,需要开放SMB协议端口,以便能在节点间传输备份文件。
  • 通常,复制一个备份文件会占用更多空间,这是额外的需求,更多的磁盘空间。
  • 特别是针对第三方备份的方案,会导致备份/还原链的中断。但是这又取决于数据库的备份策略。
  • 分发和还原数据库是耗时并且不透明的过程。

为了更好的帮助DBA们处理这些问题,微软引入了可用组的自动增长数据库。即SQL Server 2016 引入了用于初始化次要副本的新功能 - 我一般称之为数据库自增长(自动种子设定)

综上所述,使用自动填充的优势有如下几点:

  • 操作过程简单.
  • 节省磁盘空间.
  • 节省备份还原事件,因为SQLServer复制数据库使用网络.
  • 使用追踪标记9567,能够大大减少同步时间。

在可用组中使用自动增长的缺点:

  • 在同步过程中需要巨大的网络流。
  • 处理需要一些手动处理步骤

为什么要使用自动种子

SQL Server 2016 推出了可用性组的自动种子设定。 自动种子设定使用日志流传输,使用 VDI 备份并将备份传输到使用endpoints配置的次要副本的每个数据库【若要加入 Always On 可用性组 或数据库镜像,服务器实例上必须创建自己专用的“数据库镜像端点” (database mirroring endpoint)。 此端点用途特殊,专门用于接收来自其他实例的连接。数据库镜像端点使用TCP协议在参与数据库镜像会话或承载可用性副本的实例之间发送和接收消息。 数据库镜像端点在唯一的 TCP 端口号上进行侦听。但注意客户端与主服务器或主副本的连接不使用数据库镜像端点。】。 创建具有自动种子设定的可用性组时,SQL Server 将自动为该组中每个数据库创建次要副本。 你不再需要手动备份和还原次要副本。
使用自动种子可以简化sqlserver AlwaysOn的搭建过程,而且如果要对数据库做备份恢复的话,自动种子也可以起到自动恢复的作用。
在某些情况下,自动种子设定可能不是初始化次要副本的最优选择。 自动种子设定过程中,SQL Server 通过网络执行备份以进行初始化。 如果数据库非常大或者次要副本是远程副本,此过程会很缓慢。 在备份过程中,无法截断这些数据库的事务日志,因此,如果繁忙的数据库初始化过程耗时冗长,则可能导致事务日志大幅增加。 在将数据库添加到具有自动种子设定的可用性组之前,请先评估数据库大小、负载和副本之间的站点距离。
自动种子设定是单线程进程,最多可处理五个数据库。 单线程可能会影响性能,尤其是在可用性组具有多个数据库的情况下。
但是总体来看,自动种子的使用已经是一种趋势。

配置思路

我们采用的时windows无域配置方式,因此选用了一台linux服务器作为见证节点。可以采用samba的方式配置linux和window之间的通信。
两台window机器的sqlserver互通采用证书认证的方式,自动种子采用window认证的方式。【我这边的环境貌似只有这样可以行得通,一般都采用windows认证方式就可以搭建成功】

配置流程

服务器操作

1- 配置主机域名映射:

Linux - /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 mssql-witness linuxName
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 mssql-witness

Windows- C:\Windows\System32\drivers\etc\

192.168.1.01 node1Name
192.168.1.02 node2Name
192.168.1.03 cluster
192.168.1.04 listener

2- 创建群集

new-itemproperty -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name LocalAccountTokenFilterPolicy -Value 1
New-Cluster -Name FCCluster -node name1,name2 -AdministrativeAccessPoint Dns -StaticAddress 192.168.1.03 (cluster的ip)

3- 添加共享文件

Set-ClusterQuorum -FileShareWitness \\192.168.1.05(linux IP)\wfsc-cluster -AccountName wfsc-cluster -AccessKey unicloud

以下是关于 SQL Server 的相关操作

1- 在sqlserver服务中勾选可用性组选项,并重启服务。

2-使用sa登录sqlserver,密码在guest_Info.conf中获取

3- start to build

-- Create Master Key
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password!';
-- Change the Certificate Name and Subject to meet your environment
CREATE CERTIFICATE [SQL01Cert] WITH SUBJECT = 'SQL01Cert';
-- Create Login 
RISC-V E300 SOC架构介绍——5.电源常开域(Always on Domain) RISC-V E300 SOC架构介绍——5.Always on Domain Always on Domain (AON) 模块是电源常开域模块,主要包括PMU、Backup Registers、RTC、Watchdog Timer、Reset Unit等模块 阅读详情

相关推荐

AlwaysOn添加新可用性副本

在已有ALWAYSON可用性组的情况下,如何将新的副本添加进可用性组呢? 前期准备工作: 1.配置SQL SERVER2012服务器,配置静态IP地址。 2.关闭防火墙和自动更新功能 3.安装.NET Framework 3.5功能和故障转移集群功能。 4.将计算机加入域,并将与用户添加进本地管理员组,并配置DNS地址。 5.独立安装SQL SERVER,将与用户设置为SQL SERV

半世笙箫的博客 5297

windows2016+sqlserver2017集群搭建alwayson之搭建配置篇

节点搭建 修改IP和机器名并加入域控 注意:首选DNS服务器那里写域控的IP 克隆机器需要重新生成SID 打开C:\Windows\System32\Sysprep下的sysprep工具 这里选中通用,点击确认后自动重启机器重新输入产品密钥并修改IP并加入域控(重复上述操作) 安装jdk(或者jre 7更新或更高版本) 这一步可以省略,但是作为一个力求做个完美主义者,这个还是装一下吧,不安装的...

darryl_lee的博客 5155

SqlServer Alwayson 搭建排错记录(二)

  下面记录下建立好alwayson可用性组后,向可用性组内添加数据库出现过的问题及解决方法 一、数据库未处于恢复状态   将数据库联接到可用性组的时候报错: 数据库“XXXX”未处于恢复状态,而此状态是镜像数据库或辅助数据库所必需的。必须使用 WITH NORECOVERY 还原远程数据库。 (Microsoft SQL Server,错误: 1464)    这个问题...

weixin_33705053的博客 2088

SQLServer AlwaysOn在阿里云的前世今生

缘起 早在2015年的时候,随着阿里云业务突飞猛进的发展,SQLServer业务也积累了大批忠实客户,其中一些体量较大的客户在类似大促的业务高峰时RDS的单机规格(规格是按照 内存CPUIOPS 一定比例分配,根据底层资源不同都会有各自上限)已经不能满足用户的业务需求,在我们看来也需要做Scale Out了,但SQLServer并没有完备的中间件产品,所以无论是逻辑Sharding还是只读分离,...

阿里云云栖号 1269

SQL Server 2016 AlwaysOn搭建

AlwaysOn可用性组信息 示意图如下,可用性组FrontDBServer由三个节点组成d c ,A06为主副本,A08和SQLC01为从副本,A08为同步提交数据,自动故障转移,可供查询,SQLC01为异步提交数据,手工强制故障转移,只有只读直连时可供查询;[ 客户端通过公共网络进行访问,节点之间通过私有网络进行通信。   角色 节点 节点类型 同步方式 支持故障转移类型 Availability Group   Primay Replica SQLC01

Welcome to Leonard's weblog! 2720

一键自动化部署工具 SQL Server的AlwaysOn集群和WSFC集群

如需要同时调用多组,可以指定-Group_id参数为多个组号,如 .\Autodeployment_Server_Parallel.ps1 -Operation_type AllinOne -Group_id 1,2,3 .\Autodeployment_Server_Parallel.ps1 -Operation_type CreateAG -Group_id 1,2,3。关于数据库文件路径:这里的路径不需要提前创建,脚本会自动挂载磁盘并格式化分配盘符,但目前的盘符顺序是固定的。

qq_38220914的博客 986

38、使用可用性组进行备份和恢复

本文详细介绍了如何使用 Microsoft SQL Server 的 AlwaysOn 可用性组进行数据库备份和恢复操作。内容涵盖可用性组的设置步骤、备份策略配置、恢复流程以及最佳实践,旨在提升数据库的连续可用性和数据可恢复性。通过合理配置可用性组,可以实现高效的灾难恢复,并优化数据库性能。

bert9linguist的博客 67

银河麒麟v10离线安装docker二进制包

因为工作需要在银河麒麟v10系统上离线部署k8s集群,k8s部署的前提是具有docker环境,因此离线安装docker成为必然。 1.下载docker包:Index of linux/static/stable/x86_64/ 选择自己合适的版本,我下载的是20.10.7 选择自己放置docker包的路径进行解压: cd /home/huawei/zq tar -zxvf docker-20.10.7.tgz 2. 给docker包解压出来的docker文件夹下的二进制文件赋..

q_hsolucky的博客 7683

逆向拆解dy接口a_bogus 1.0.1.19版本核心算法(纯算版)第二部分

本文深入解析了dy接口a_bogus 1.0.1.19版本的核心算法,重点介绍了逆向分析的基础方法论、魔改Base64编码识别与还原、随机数生成与位运算解析等关键技术。通过详细的代码示例和实用技巧,帮助开发者掌握逆向工程中的关键步骤,特别是针对a_bogus参数的生成逻辑和混淆处理。

weixin_29288313的博客 406

从BIN文件到可烧录程序:深入理解ADI DSP程序读取背后的原理与安全边界

本文深入探讨了ADI DSP程序从BIN文件到可烧录程序的转换原理与安全边界,详细解析了JTAG接口、仿真器工作流程及Flash存储结构。通过Visual DSP++工具,开发者可以理解程序读取的底层机制,同时强调了知识产权保护的重要性,为嵌入式开发提供了实用建议。

weixin_27956639的博客 262

Java utgard连接OPC问题记录

怎么开启是个问题, 是在引入openscada的jar包里的Sever类中修改,这就犯难了, 其实没必要, 只要在自己项目下创建与openscada中Server类相同的路径,并复制Server过去改就行了, 项目会优先使用本地类,像下面这样。奇迹发生了,0x00000005解决. 注: 我的安全补丁编码跟网上查到的并不一样, 所以最初没有删,后来全都删了就好了,这个编码规则咱也不知道.安全日志中记录用户登录行为, OPC通信需要使用Windows系统用户进行登录, 如果用户名密码错误这里会有相关记录.

wangxin1949的博客 2840

Web端百度离线地图3.0实战:从零搭建到私有化部署

本文详细介绍了Web端百度离线地图3.0的完整实战流程,从核心SDK本地化、功能模块下载到地图瓦片部署。通过逐步修改代码与配置,实现在无外网环境下的私有化部署,解决了内网或网络不稳定场景下的地图应用需求,并提供了关键的避坑指南。

n7o8p的博客 714

PubMedBERT:生物医学NLP中的垂直领域预训练实践与性能突破

本文深入探讨了PubMedBERT在生物医学NLP领域的应用与性能突破。作为专为生物医学文本设计的预训练模型,PubMedBERT通过全词掩码策略和BLURB基准测试,显著提升了命名实体识别、关系抽取等任务的准确率。文章还提供了PubMedBERT的实战应用案例和代码示例,展示了其在医学文献检索和电子病历结构化中的卓越表现。

kite3的博客 283

基于YOLO和KCF的目标跟踪算法研究

该算法结合了YOLO的目标检测能力和KCF的目标跟踪精度,能够实现准确且高效的目标跟踪。通过结合YOLO的目标检测能力和KCF的目标跟踪精度,该算法能够实现准确且高效的目标跟踪。目标跟踪:从第二帧开始,我们使用YOLO检测目标,并使用KCF跟踪器更新目标的位置。具体而言,对于每个检测到的目标,我们计算其与上一帧跟踪结果的特征相似度,然后选择最相似的目标作为当前帧的跟踪结果。需要注意的是,以上代码只是演示了基于YOLO和KCF的目标跟踪算法的基本思路,实际应用中可能需要根据具体情况进行调整和优化。

QoDeveloper的博客 1571

导航系统 | 全球四大卫星导航系统(2025)核心能力对比分析

北斗系统通过GEO卫星(80°E、110.5°E、140°E)实现区域增强,其IGSO卫星在亚太地区形成"8"字形轨迹,使该区域可见卫星数量比GPS多4-6颗,显著提升复杂环境下的定位可用性[13]。北斗短报文功能在2025年云南地震救援中发挥关键作用,被困人员通过北斗终端发送120字求救信息,实现"位置+状态"一体化上报,救援响应时间缩短40%[15]。北斗通过三频信号(B1C/B2a/B3)消除电离层延迟误差,在城市峡谷环境下定位连续性达99.98%,优于GPS的99.95%[5]。

尘世冰封的专栏 2611

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: springmvc中的文件下载
下一篇: LRU算法及Java实现
code_feien
博客等级 码龄7年 71粉丝 85原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值