Sql-Server

SQL Server 錯誤 47106 無法將輔助副本加入可用性組

  • February 22, 2021

我們試圖創建具有 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$];

引用自:https://dba.stackexchange.com/questions/225155