SQLServer2016 AlwaysOn基于证书的搭建笔记
最近搭建了一套SQLServer2016 AlwaysOn。 笔者是采用修改各节点的hosts文件,以及修改计算机名的dns后缀,来避免需要另外一台DNS服务器。 ? 上面128,129,130三个IP属于AlwaysOn的三个节点服务器 IP100属于可用性组侦听器IP IP150属于群集 途中遇到的问题点记录于此: 1.如果不是采用administrator这个内置管理员账号而采用其它的管理员帐户(每个节点都需要同样的管理员帐户),则在搭建群集前,需要使用Powershell添加如下注册表项: new-itemproperty -path HKLM:SOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem -Name LocalAccountTokenFilterPolicy -Value 1 否则,在创建群集添加服务器时会报错。 ---------------------------------------------------------------------------------------- 2.在执行 ALTER DATABASE [SQL2016] SET HADR AVAILABILITY GROUP = [AG2016] 时出错,sp_readerrorlog可以找到如下错误: Database Mirroring login attempt by user 'NT AUTHORITYANONYMOUS LOGON.' failed with error: 'Connection handshake failed. The login 'NT AUTHORITYANONYMOUS LOGON' does not have CONNECT permission on the endpoint. State 84.'. ?[CLIENT: 192.168.206.128] 解决方法: 这其实以前在玩镜像时也遇到过,一种解决方法是修改SQL Server实例的属性,将登录身份改为同样的本地管理员帐户,并将该用户添加到SQLServer的登录名中,同时需要给sysadmin授权。修改之后,重启SQL Server实例。(各节点都需要操作一遍) 另一种方法是按照上面报错信息,将NT AUTHORITYANONYMOUS添加到SQLServer的登录名中,同时需要给sysadmin授权。修改之后,重启SQL Server实例。(各节点都需要操作一遍) ---------------------------------------------------------------------------------------- 3.添加侦听器时遇到如下错误: 消息 41066,级别 16,状态 0,第 3 行 解决方法: 这是因为未将侦听器IP的DNS记录添加到hosts文件中导致,添加即可。 ---------------------------------------------------------------------------------------- 4.只读路由的负载均衡不起作用 因为我仍然按照以前SQLServer2012时期的脚本来搭的AlwaysOn只读路由。 创建SQLServer2016的负载均衡只读路由的脚本应该如下: ALTER AVAILABILITY GROUP ag MODIFY REPLICA ON N’WIN02′ WITH (PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=((‘WIN01’,‘WIN03’),‘WIN02’)));
跟以前的变更之处上上边(‘WIN01’,‘WIN03’)的脚本处。 使用脚本查询路由可以得到这样的结果(WIN01和WIN03节点都是第一路由优先级): select b.replica_server_name,a.routing_priority,c.replica_server_name from sys.availability_read_only_routing_lists a left join sys.dm_hadr_availability_replica_cluster_states b on a.replica_id = b.replica_id left join sys.dm_hadr_availability_replica_cluster_states c on a.read_only_replica_id = c.replica_id order by a.replica_id 使用SQLCMD测试时,几乎是以1:1的比例来分配的负载。而使用SSMS时则不是这样,会出现连续N次都是WIN01,之后连续N次都是WIN03。 ---------------------------------------------------------------------------------------- 最后,使用最新的SSMS管理工具,可以直接从图形化界面进行操作创建AlwaysOn可用性组(稍老的版本好像会缺少部分脚本)。 本文链接地址:http://www.cnblogs.com/ajiangg/p/6424900.html 参考链接: https://blogs.msdn.microsoft.com/clustering/2015/08/17/workgroup-and-multi-domain-clusters-in-windows-server-2016/ https://blogs.msdn.microsoft.com/alwaysonpro/2016/05/02/sql-server-2016-alwayson-availability-group-enhancements-load-balance-read-only-routing/ http://www.cnblogs.com/ajiangg/p/3636019.html http://www.cnblogs.com/ajiangg/p/3668936.html http://www.cnblogs.com/ajiangg/p/3636082.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |