SQLServer集群搭建三

标签: 无 分类: 未分类 创建时间:2021-09-09 00:51:04 更新时间:2025-01-17 10:39:22

使用SQL Server发布订阅模式,可以实现数据的同步,该篇文章,主要记录了使用 SQL Server2019 的always on功能,实现双机热备。

参考文章:
1.server 2016部署故障转移群集cluster 这篇文章内容比较多,还涉及到了磁盘等操作。
2.针对 AlwaysOn 可用性组的先决条件、限制和建议 可用性组的先决条件:确保此系统不是域控制器;确保每台计算机正在运行 Windows Server 2012 或更高版本;确保每台计算机都是 WSFC 中的一个节点;确保 WSFC 包含足够的节点来支持可用性组配置。

1.准备工作

1.域的创建和加入

(1) 打开服务器管理器(或者控制面板)->管理->添加和删除windows功能,下一步,下一步,找到服务器角色,然后找到 Active Directory 域控制器,然后安装

(2) 单击服务器管理器上方的旗帜符号,再单击将此服务器提升为域控制器

(3) 选择添加新林,设定根域名如(abc.abc),单击下一步按钮

(4) 完成以下设置及设置密码后单击下一步按钮.

(5) 数据库文件夹,默认为 C:\Windows\NTDS

安装完毕之后系统会自动重启,重启之后将以域管理员的身份登录,到此,域控制器配置完毕。打开“服务器管理器”-“工具”-“Active Directory用户和计算机”,就可以看到我们刚才部署好的域,这样一个完整的域就部署完成了。

参考文章:
1.Windows域的创建与加入教程 这是2008创建和加入域
2.Windows Server2016服务器系统创建域服务器 这里时2016创建域
3.windows server 2016 如何创建AD域 Sever2016创建域
4.删除Windows AD域控制器的三种方法
5.Windows 2012卸载域控的方法 在Windows Server 2012中,卸载域控制器其实就是“降级”,打开“服务器管理器”,点击右上角的“管理”菜单,选择“删除角色和功能”

问题

1.无法安装域控制器
安装控制器的时候,出现了无法安装,需要重启的问题,但是我重启多次,还是无法安装。

【尝试解决】
(1) 本地安全策略,定位到安全设置/本地策略/用户权限分配/作为服务登录,确认列表中包含NT SERVICE\ALL SERVICES

(2) 运行中,输入:regedit,打开注册表 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations 键值删除,但是我没有这个键。

(3) 在windows功能中,安装了DNS服务。

(4) 控制面板—管理工具-服务,找到server服务,启动类型改为自动,启动服务器。

【解决方案】
打开控制面板-管理工具-服务,找到 Remote Registry 服务,启动类型由禁用改为自动,然后启动。

参考文章:
1.安装 Active Directory 域服务失败,出现错误”指定的用户已存在”。
2.win server2012 安装域指定的服务要重启
2.重启机器后添加AD域仍然提示需要重启 我建议您先检查一下这台服务器的本地安全策略,定位到安全设置/本地策略/用户权限分配/作为服务登录,确认列表中包含NT SERVICE\ALL SERVICES。
4.Windows Server 2012 R2安装AD域服务失败 这个没啥用
5.windows server添加AD域服务时安装失败解决 这个也是开启了Server服务,但是我的Server已经开启了。
6.windows server2016添加ActiveDirectory域服务时安装失败解决 这篇文章给了解决方法

1.安装故障转移集群功能

打开控制面板,选择 “启用或关闭Windows功能”,下一步,下一步,再下一步,一直到功能界面,然后找到故障转移集群,选择安装,点击确定安装就可以了

参考文章:
1.Windows 2016 无域故障转移群集部署方法 超详细图文教程 这个其实不对,首先第一点,就是没有解决 服务器权限的问题,在一台服务器上添加另外的设备,需要管理权限的。
2.Network infrastructure and domain account requirements for a failover cluster

准备工作完成了,完不成就看 Alaway On的先决条件

1.开启数据库远程连接

这一步就是设置允许数据被远程访问,应该安装之后,都是默认的可以远程访问。

2.配置别名

首先要在进行发布的服务器上运行 sql 命令:select @@SERVERNAME ,查找服务器名称

然后将得到的服务器名称,在需要进行可用性组设置的服务器上,打开SQL Server配置管理工具,在两个Native Client上新键别名,填入需要加入可用性组的服务器查询到的名称,ip地址和端口

2.修改hosts文件

在hosts文件中,添加 节点的 ip 地址 和服务器名

参考文章:
1.sqlserver 2019 always on 集群 这个截图都是英文的
2.AlwaysOn 故障转移群集实例 (SQL Server)
3.启用 AlwaysOn 可用性组
4.Windows Server 2019故障转移群集+SQL Server 2016 always On 这篇文章写的比较清除,但是缺少的是域控的创建和两台服务器的加域。

1.对数据库进行完整备份

2.设置数据库完整恢复模式

问题

(1) 无法联接可用性组“phems”。下载配置超时。请检查主要配置、网络连接和防火墙设置,然后重试操作。

无法将本地可用性副本联接到可用性组“phems”。该操作遇到了 SQL Server 错误 47106,

小额赞助
本人提供免费与付费咨询服务,感谢您的支持!赞助请发邮件通知,方便公布您的善意!
**光 3.01 元
Sun 3.00 元
bibichuan 3.00 元
微信公众号
广告位
诚心邀请广大金主爸爸洽谈合作
每日一省
isNaN 和 Number.isNaN 函数的区别?

1.函数 isNaN 接收参数后,会尝试将这个参数转换为数值,任何不能被转换为数值的的值都会返回 true,因此非数字值传入也会返回 true ,会影响 NaN 的判断。

2.函数 Number.isNaN 会首先判断传入参数是否为数字,如果是数字再继续判断是否为 NaN ,不会进行数据类型的转换,这种方法对于 NaN 的判断更为准确。

每日二省
为什么0.1+0.2 ! == 0.3,如何让其相等?

一个直接的解决方法就是设置一个误差范围,通常称为“机器精度”。对JavaScript来说,这个值通常为2-52,在ES6中,提供了Number.EPSILON属性,而它的值就是2-52,只要判断0.1+0.2-0.3是否小于Number.EPSILON,如果小于,就可以判断为0.1+0.2 ===0.3。

每日三省
== 操作符的强制类型转换规则?

1.首先会判断两者类型是否**相同,**相同的话就比较两者的大小。

2.类型不相同的话,就会进行类型转换。

3.会先判断是否在对比 null 和 undefined,是的话就会返回 true。

4.判断两者类型是否为 string 和 number,是的话就会将字符串转换为 number。

5.判断其中一方是否为 boolean,是的话就会把 boolean 转为 number 再进行判断。

6.判断其中一方是否为 object 且另一方为 string、number 或者 symbol,是的话就会把 object 转为原始类型再进行判断。

每日英语
Happiness is time precipitation, smile is the lonely sad.
幸福是年华的沉淀,微笑是寂寞的悲伤。