Sql-Server
SQL Server 錯誤 47106 無法將輔助副本加入可用性組
我們試圖創建具有 3 個同步副本的可用性組,我們無法將 /etc/hosts 中指定的名稱作為主副本中創建可用性組的節點說明符。我們收到以下錯誤:
消息 35237,級別 16,狀態 1,伺服器,第 1 行
可用性組的指定副本都沒有映射到您連接到的 SQL Server 實例。重新輸入命令,指定此伺服器實例來託管其中一個副本。此副本將是初始主副本。
但基於以下連結: 導致此錯誤的原因:可用性組 ag1 的指定副本均未映射到您連接到的 SQL Server 實例
我將節點說明符更改為主機名並且有效,但是我無法將輔助副本連接到可用性組。
ALTER AVAILABILITY GROUP [ag1] JOIN WITH (CLUSTER_TYPE = EXTERNAL);
我收到以下錯誤:
消息 47106,級別 16,狀態 3,伺服器“”,第 1 行
無法加入可用性組“ag1”。下載配置超時。請檢查主要配置、網路連接和防火牆設置,然後重試該操作。
消息 41158,級別 16,狀態 3,伺服器“”,第 1 行
無法將本地可用性副本加入可用性組“ag1”。該操作遇到 SQL Server 錯誤 47106 並已回滾。查看 SQL Server 錯誤日誌以獲取更多詳細資訊。解決錯誤原因後,重試 ALTER AVAILABILITY GROUP JOIN 命令。
我解決了這個問題。對於錯誤 35237,在創建可用性組時更改的主機名的節點說明符最多應為 15 個字元,否則它將無法辨識剩餘的字元
有相同的錯誤 (47106) - 原因是 SQL Server(SQL01 和 SQL02)在本地帳戶(例如 NT Service\MSSQLServer)下執行,因此需要授予連接權限。
在 SQL01 上:
CREATE LOGIN [DOMAIN\SQL02$] FROM WINDOWS GRANT CONNECT ON ENDPOINT::Hadr_endpoint TO [DOMAIN\SQL02$];
在 SQL02 上:
CREATE LOGIN [DOMAIN\SQL01$] FROM WINDOWS GRANT CONNECT ON ENDPOINT::Hadr_endpoint TO [DOMAIN\SQL01$];