改進
SQL Server 2019 和 2016 容錯移轉叢集執行個體 (FCI) 接聽程式已增強,可與 WSFC (WSFC) 分散式網路名稱 (DNN) 存取點搭配使用 Windows Server容錯移轉叢集
其他資訊
SQL Server容錯移轉叢集執行個體 (FCI) 接聽程式目前只能搭配 Windows Server 容錯移轉叢集 (WSFC) 網路名稱和虛擬 IP 存取點一起使用。 由於虛擬 IP 無法在Azure環境中運作,因此您必須設定 Azure 內部Load Balancer來解決此問題 (請參閱如何設定 Azure 內部Load Balancer) 。
此更新為 SQL Server 用戶端提供了另一種方式,可以在沒有負載平衡器的情況下使用 Windows Server 容錯移轉叢集中的分散式網路名稱 (DNN) 資源來與 FCI 連線。 建立 DNN 資源時,WSFC 會將 DNN DNS 名稱繫結至叢集中所有節點的 IP 位址。 SQL Server 用戶端會嘗試連線此清單中的每個 IP 位址,以找出 FCI 目前正在執行的節點。 如果 SQL Server 連線屬性 MultiSubnetFailover 為 true,則平行連接所有 IP 位址可進一步加速此連線程序。 這可讓 SQL Server 用戶端立即連線到目前執行的 FCI。
相較於先前使用 Azure Internal Load Balancer 的因應措施,DNN 接聽程式方法可避免負載平衡器活躍度探查所引進的額外容錯移轉延遲。 根據預設,該程序需要 10-15 秒。 (請參閱這份Azure文件,以了解如何計算延遲。) 您不需要設定及維護負載平衡器元件。 這簡化了佈建程序。 移除負載平衡器也會移除一個可能失敗的元件。 這改善了整體穩健性。
使用此功能需要下列步驟:
對於已安裝的 FCI,您必須建立 DNN 資源,並設定其 DNS 名稱。 以系統管理員身分執行下列三個 PowerShell 命令:
-
Add-ClusterResource -Name <dnnResourceName> -ResourceType “Distributed Network Name” -Group “<SQL Server 執行個體>的 WSFC 角色”
Get-ClusterResource -Name <dnnResourceName> | Set-ClusterParameter -Name DnsName -Value <DNSName>
Start-ClusterResource -Name <dnnResourceName>
例如:
-
Add-ClusterResource -Name dnn-demo -ResourceType “分散式網路名稱” -群組 “SQL Server (MSSQLSERVER) ”
Get-ClusterResource -Name dnn-demo |Set-ClusterParameter -Name DnsName -Value dnnlsnr
Start-ClusterResource -Name dnn-demo
說明:
- 第一個命令的資源名稱 <為 dnnResourceName> ,將 DNN 資源新增到 WSFC。 WSFC 使用資源名稱來唯一識別 WSFC 資源。 使用對您有意義的帳戶,並且在整個 WSFC 叢集中是唯一的。 資源類型必須是分散式網路名稱。 此 DNN 資源所屬的群組名稱必須是 WSFC 資源群組 (角色) 對應至您要新增 DNN 資源的 FCI。 此群組名稱的一般格式為「SQL Server (實例名稱) 」。 因此,針對預設執行個體,名稱會是 “SQL Server (MSSQLSERVER) ”。您也可以在容錯移轉叢集管理員主控台中檢查群組名稱。
- 第二個命令設定此 DNN 資源的 DNS 名稱。 DNS 名稱很重要,因為這是用戶端用來連線到 FCI 的名稱。
- 第三個命令啟動 DNN 資源。
預設情況下,DNN DNS 名稱繫結到 WSFC 中的所有節點。 設定 DNN 資源的可能擁有者,以只包含此 FCI 的節點,如果並非所有 WSFC 中的節點都參與 FCI。
-
Add-ClusterResource -Name <dnnResourceName> -ResourceType “Distributed Network Name” -Group “<SQL Server 執行個體>的 WSFC 角色”
重新啟動 SQL Server 執行個體。
將 SQL 用戶端連接字串中的 VNN) (虛擬網路名稱取代為 DNN DNS 名稱,並將 MultiSubnetFailover 屬性設定為「True」。如果 SQL 用戶端版本高於 4.6.1,則可以略過此設定。
解決方式
這項改進包含在下列 SQL Server 累積更新中:
關於 SQL Server 的累積更新:
SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:
SQL Server 2016 的 Service Pack 資訊
此問題已在下列 SQL Server Service Pack 中修正:
關於 SQL Server Service Pack:
Service Pack 是累積性的。 每個新版 Service Pack 都包含前一版 Service Pack 中所有的修正程式,以及任何新增的修正程式。 建議您套用最新的 Service Pack 以及該 Service Pack 的最新累積更新。 所以在安裝最新版的 Service Pack 之前,您不需要安裝前一版的 Service Pack。 使用下列文章中的表 1,尋找有關最新 Service Pack 和最新累積更新的詳細資訊。
參考資料
了解 Microsoft 用來說明軟體更新的術語。