积极答复者
vNext CTP 2.0 Cluster-less 创建AG报错

问题
-
消息 19417,级别 16,状态 2,第 57 行
An attempt to fail over or create an availability group failed. This operation is not supported when Always On Availability Groups is running under a remote Windows Server Failover Clustering (WSFC) cluster context. Under a remote cluster context, failing over or creating availability groups are not supported.指令:
CREATE AVAILABILITY GROUP MyAG
FOR DATABASE Demo
REPLICA ON
'N1' WITH
(ENDPOINT_URL = 'TCP://N1.noad.com:7022',
AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
FAILOVER_MODE = MANUAL),
'N2' WITH
(ENDPOINT_URL = 'TCP://N2.noad.com:7022',
AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
FAILOVER_MODE = MANUAL);环境:
Win 16+vNext CTP 2.0
已建相同服务帐号sql,密码一致,且已加入Administrators
不建群集,在SQL SERVER配置管理器里可以勾选启用AlwaysOn,但CREATE AVAILABILITY GROUP时报错。
文档上CTP 1.3就说支持Cluster-less,难道仅支持跟LINUX上AG?都是Windows Server却不支持?
看起来是自己姿势不对。。。
后来再测试,建个群集,创建AG就OK了。
Try SQL Server 2008 QQ:315054403 dgdba@hotmail.com
答案
-
Hi iDBApp,
首先给出一个结论,Cluster-less是支持Linux和Windows Server上的SQL Server的,它可以部署在no-WSFC和no-Pacemaker的环境上。
上述问题的关键在于没有指定CLUSTER_TYPE,在创建Cluster-less AG的时候需要在T-SQL语句中加入CLUSTER_TYPE=NONE,语句如下:
ALTER AVAILABILITY GROUP AGNAME JOIN WITH (CLUSTER_TYPE = NONE);
Stackoverflow上有一个类似的case,你可以参考一下:http://stackoverflow.com/questions/43499689/creating-a-clusterless-availability-group-using-windows-server-2016-and-sql-serv
另外,这边有一篇博客详细阐述了Cluster-less AG,你可以看一下:http://sqlha.com/2017/02/22/alwayson-availability-groups-no-underlying-cluster-sql-server-v-next/
Best Regards,
Teige
MSDN Community Support
Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.- 已标记为答案 iDBApp 2017年5月9日 8:46
全部回复
-
Hi iDBApp,
首先给出一个结论,Cluster-less是支持Linux和Windows Server上的SQL Server的,它可以部署在no-WSFC和no-Pacemaker的环境上。
上述问题的关键在于没有指定CLUSTER_TYPE,在创建Cluster-less AG的时候需要在T-SQL语句中加入CLUSTER_TYPE=NONE,语句如下:
ALTER AVAILABILITY GROUP AGNAME JOIN WITH (CLUSTER_TYPE = NONE);
Stackoverflow上有一个类似的case,你可以参考一下:http://stackoverflow.com/questions/43499689/creating-a-clusterless-availability-group-using-windows-server-2016-and-sql-serv
另外,这边有一篇博客详细阐述了Cluster-less AG,你可以看一下:http://sqlha.com/2017/02/22/alwayson-availability-groups-no-underlying-cluster-sql-server-v-next/
Best Regards,
Teige
MSDN Community Support
Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.- 已标记为答案 iDBApp 2017年5月9日 8:46