1. 程式人生 > >SqlServer Alwayson 搭建排錯記錄 一

SqlServer Alwayson 搭建排錯記錄 一

選擇 還需 參考 根據 所有 sha .com rsh 對話

天搭建alwayson,碰到一堆問題,解決起來花了不少時間,特此記下幾個有代表性的,以免以後再碰到做重復功。

一、創建可用性組

使用SSMS的創建可用性組向導,添加了一個主副本node1,一個輔助副本node3,最後一步完成的時候報錯:

無法對可用性組"XXXXX"創建、聯接或添加副本,因為節點“node3”是副本“node1”和"node3"的可能所有者。
如果一個副本是故障轉移群集實例,請從其可能的所有者中刪除重疊的節點,然後再試。(錯誤:19405)

  技術分享圖片

解決方法:

1)在服務器的故障轉移群集管理器中,找到群集下面的角色,點擊要在上面搭建alwayson的角色,在下面服務器名稱上右鍵屬性,在彈出的屬性對話框中選擇“高級策略”選項卡,可以看到“可能的所有者”列表框中列出了群集內的節點名稱,把其他的勾上,Node3的勾取消,點擊確定。這樣,理論上node3就不是Node1和Node3的可能所有者了。

技術分享圖片

網上有說這樣能解決問題的,但根據實際操作發現並不能,還需要做下面的操作。

2)在powershell中修改群集的可能所有者

在powershell命令行中運行get-ClusterResource命令,查看群集內的resource

技術分享圖片

上面的SQL Server就是1)中的其他資源,使用Get-ClusterOwnerNode查看“SQL Server”的可能所有者

技術分享圖片

可能所有者有node1,node2,node3三個節點,使用cmdlet命令修改SQL Server的ClusterOwnerNode

Get-ClusterResource -Name "SQL Server" | Set-ClusterOwnerNode -Owners node1,node2

  其中“SQL Server”就是上面查詢出來的Resource,node1,node2就是群集裏面的其余節點。

技術分享圖片

再次查看"SQL Server"下的ownerNodes就沒有了node3。這時再創建可用性組,就成功了。

參考資料:https://dba.stackexchange.com/questions/142603/failed-to-create-join-or-add-replica-to-availability-group-in-sql-server-2014

SqlServer Alwayson 搭建排錯記錄 一