Sql server AlwaysOn搭建常见问题

Sql server AlwaysOn搭建容易出现的一些问题

在搭建AlwaysOn的时候碰到了一些问题,在网上也很难找到一些针对性的解决方法,所以记录一下我碰到的一些问题。

在搭建window故障转移集群中的问题

问题1:故障转移集群 无法检测是否安装群集功能
解决方案: 关闭所有的安全策略组

问题2:你没有服务器“xxx” 的管理权限
解决方案:
1.查看是否是Administrator账号
2.如果实在用不了Administrator账号可以在给现有账号管理员权限之后再重新尝试
3.如果还是不行 请修改注册表信息

具体操作步骤:
打开注册表,找到目录HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System 新建DWORD(32位)值,键名:LocalAccountTokenFilterPolicy 键值为十进制 1。
参考:https://blog.csdn.net/ken119/article/details/103944447

问题3:创建Windos故障转移集群一直失败
解决方案:关闭安全策略组重试

在数据库新建AlwaysOn高可用性组时出现的问题

问题1:Alwayson 指定副本 是否可读辅助副本只能选否
解决方案:查看数据库版本是否是企业版,标准版只能选否

问题2:启动sqlserver 服务时勾选不了Alwayson
解决方案:你还没有把Windows故障转移集群创建好,创建好之后就可以勾选启动了

日常维护AlwaysOn时会出现的问题

问题1:主副本新建账号的问题、
解决方案:
分为两种情况:
1.主副本都创建账号
要保证主副本的账号的sid一致,不然会出现主副本创建好了之后从副本登录不了的情况
可能会报的错误有:
SqlServer 管道的另一端无任何进程错误233
解决办法:

select sid from sys.sql_logins where name = 'xxx'

--创建副本账户 指定sid为主副本sid
create login xxx with password='xxx', sid=xxxx

2.在辅助副本创建只读账号
可能会报的错误:
备库创建只读用户时,出现报错信息3906

问题定位:master和业务库的sid不同,造成不能映射业务数据库

0x59E000C5F5C7CE43801980D9C35F1402
USE  PMDB
select * from sys.database_principals where name='ze_bi'
0x20E605EFA5FD5842AB5B6A12F46DBF1B
USE LogDB
select * from sys.database_principals where name='ze_bi'
0x20E605EFA5FD5842AB5B6A12F46DBF1B
在安全--删除掉登录名ze_bi,通过TSQL重建ze_bi
create login ze_bi  with Password='ze_bi',sid=0x20E605EFA5FD5842AB5B6A12F46DBF1B
这样就可以解决了。

参考文章:
https://www.cnblogs.com/helon/p/12489498.html

问题2:在AlwaysOn高可用组已经搭建完毕的情况下需要做日志收缩
解决方案:
在AlwaysOn集群中是没法把数据库改为简单模式的,而且如果你的库在使用的时候收缩的话会报错
最后一页的逻辑日志正在使用

解决方法:这时候需要先备份一下log文件再来收缩日志就可以了

/*
1. 备份log文件到磁盘
*/
backup log [xxx] 
to disk='E:\BackUp\xxx.trn' 
with compression,stats=5
GO

/*
2. 日志收缩到5G,大小自己决定
*/
DBCC SHRINKFILE (N'xxx' , 5000)
GO 
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
SQL Server AlwaysOn是一种高可用性和灾难恢复解决方案,它基于SQL Server数据库引擎的一组功能和技术。 要简单搭建SQL Server AlwaysOn,需按以下步骤进行操作: 1. 确保已安装SQL Server数据库引擎,并且在所有参与AlwaysOn的服务器上安装了相同的版本和服务包。 2. 创建一个Windows Server故障转移集群,该集群将作为AlwaysOn配置的基础。确保集群中的每台服务器都满足Windows Server故障转移集群的最低要求。 3. 在每台服务器上打开SQL Server配置管理器,启动SQL Server对应的服务。 4. 在主服务器上创建一个数据库并设置为全同步恢复模式。将该数据库设置为复制到其他参与AlwaysOn的服务器。 5. 在主服务器上进行AlwaysOn的配置,右键点击数据库,选择"属性",然后选择"AlwaysOn高可用性"选项卡。勾选"启用AlwaysOn可用性组"和"自动故障转移"选项。 6. 单击"向导"按钮,按照提示创建可用性组。设置虚拟名称和监听器,选择其中一个服务器作为主服务器,配置备机的读取访问。 7. 在从属服务器上重复步骤6,将其添加到可用性组中。 8. 在主服务器上启动可用性组。 9. 在从属服务器上验证可用性组的配置。确保数据库在主服务器上运行,并且从属服务器显示为已同步。 10. 测试故障转移功能。分别关闭主服务器和从属服务器,观察数据库能够自动切换到其他服务器上,并保持数据的一致性。 以上简单搭建SQL Server AlwaysOn的步骤仅是基本流程,具体配置和设置可能因环境和需求的不同而有所差异。建议参考官方文档或咨询专业人员以获取更加详细的指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值