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