安裝容錯移轉叢集之前

適用於:SQL Server

安裝 SQL Server 容錯移轉叢集之前,您必須先選取硬體以及要執行 SQL Server 的作業系統。 您也必須設定 Windows Server 容錯移轉叢集 (WSFC),並檢閱要在容錯移轉叢集上執行之其他軟體的網路、安全性和考量。

如果 Windows 叢集有本機磁碟機,且同一個磁碟機代號在一或多個叢集節點上作為共用磁碟機使用,您就無法將 SQL Server 安裝在該磁碟機上。 這項限制適用屬於 Windows 容錯移轉叢集執行個體的伺服器上 SQL Server 容錯移轉叢集執行個體和獨立執行個體。

您也可以檢閱下列文章,以進一步了解 SQL Server 容錯移轉叢集的概念、功能和工作。

文章描述 發行項
說明 SQL Server 容錯移轉叢集的概念,並提供相關內容和工作的連結。 AlwaysOn 容錯移轉叢集執行個體 (SQL Server)
說明 SQL Server 容錯移轉原則的概念,並提供相關連結說明如何設定容錯移轉原則,以符合您的組織需求。 Failover Policy for Failover Cluster Instances
說明如何維護您現有的 SQL Server 容錯移轉叢集。 容錯移轉叢集執行個體管理及維護
說明如何在 Windows Server 容錯移轉叢集 (WSFC) 上安裝 Analysis Services。 如何將 SQL Server Analysis Services 叢集化

最佳做法

檢閱 SQL Server 2019SQL Server 2022 的版本資訊。

安裝必要元件軟體。 執行安裝程式進行安裝或升級之前,請先安裝下列必要元件以縮短安裝時間。 您可以在執行安裝程式之前,於每個容錯移轉叢集節點上安裝必要元件軟體,然後重新啟動節點一次。

  • SQL Server 安裝程式將不再安裝 Windows PowerShell。 Windows PowerShell 是安裝 SQL Server 資料庫引擎元件和 SQL Server Management Studio 的必要元件。 如果您的電腦沒有 Windows PowerShell,可以依照 Windows Management Framework 頁面上的指示加以啟用。

  • SQL Server 安裝程式不再安裝 .NET Framework 3.5 SP1,但是在較舊的 Windows 作業系統上安裝 SQL Server 時,可能需要 .NET Framework 3.5 SP1。 如需詳細資訊,請參閱 SQL Server 2019:硬體和軟體需求

  • Microsoft Update 套件:為避免在安裝期間電腦因安裝 .NET Framework 4 而重新啟動,SQL Server 安裝程式會要求在電腦上安裝 Microsoft Update。 在支援的 Windows 版本上安裝的 SQL Server 2014 (12.x) 和更新版本,此更新已包含在內。 如果您是在較舊的 Windows 作業系統上安裝,請從 Windows Vista 和 Windows Server 2008 上的 .NET Framework 4.0 適用的 Microsoft Update 下載更新。

  • .NET Framework 4:安裝程式會在叢集作業系統上安裝 .NET Framework 4。 若要縮短安裝時間,您可以考慮在執行安裝程式前先安裝 .NET Framework 4。

  • SQL Server 安裝程式支援檔案。 您可以執行位於安裝媒體上的 SqlSupport.msi,以安裝這些檔案。

確認未在 WSFC 叢集上安裝防毒軟體。 如需詳細資訊,請參閱 Microsoft 知識庫文章:防毒軟體可能會導致叢集服務發生問題

安裝容錯移轉叢集期間為叢集群組命名時,不可以在叢集群組名稱中使用下列任何字元:

  • 小於運算子 (<)

  • 大於運算子 (>)

  • 雙引號 (")

  • 單引號 (')

  • 連字號 (&)

    此外,請確認現有的叢集群組名稱未包含不支援的字元。

確定所有叢集節點已設定相同,包括 COM+、磁碟機代號,以及管理員群組中的使用者。

驗證您已清除所有節點上的系統記錄檔,並且已再次檢視系統記錄檔。 請在繼續下個步驟之前,確認記錄檔完全沒有任何錯誤訊息。

在安裝或更新 SQL Server 容錯移轉叢集之前,請停用所有可能在安裝期間使用 SQL Server 元件的應用程式和服務,但請將磁碟資源保持為線上狀態。

SQL Server 安裝程式會自動設定 SQL Server 叢集群組與將位於容錯移轉叢集中的磁碟之間的相依性。 請勿在安裝之前設定磁碟的相依性。

  • 在 SQL Server 容錯移轉叢集安裝期間,將會建立 SQL Server 網路資源名稱的電腦物件 (Active Directory 電腦帳戶)。 在 Windows Server 2008 叢集中,叢集名稱帳戶 (叢集本身的電腦帳戶) 需要擁有建立電腦物件的權限。 如需詳細資訊,請參閱< 容錯移轉叢集逐步指南:設定 Active Directory 中的帳戶>。

  • 如果您使用 SMB 檔案共用作為儲存選項,則 SQL Server 安裝帳戶必須具有檔案伺服器的 SeSecurityPrivilege。 若要這麼做,請使用檔案伺服器上的「本機安全性原則」主控台,將 SQL Server 安裝帳戶新增至管理稽核及安全性記錄權限。

驗證您的硬體解決方案

如果叢集方案包括位於不同地點的叢集節點,則必須驗證如網路延遲及共用磁碟支援等其他項目。

確認要安裝 SQL Server 的磁碟未壓縮或加密。 如果您嘗試將 SQL Server 安裝到壓縮的磁碟機或加密的磁碟機,SQL Server 安裝程式將會失敗。

從 Windows Server 2008 以及 Windows Server 2008 R2 Advanced Server 和 Datacenter Server Edition 開始,Windows Server 也支援 SAN 設定。 Windows 目錄與硬體相容性清單的「叢集/多叢集裝置」類別中列出了一組具有 SAN 功能的儲存裝置,這些裝置已經過測試,可作為附加了多個 WSFC 叢集的 SAN 儲存單位。 尋找認證的元件後,請執行叢集驗證。

另外也支援用於安裝資料檔案的 SMB 檔案共用。 如需詳細資訊,請參閱 資料檔案的儲存類型

警告

如果您使用 Windows 檔案伺服器做為 SMB 檔案共用儲存,則 SQL Server 安裝帳戶必須具有檔案伺服器的 SeSecurityPrivilege。 若要這麼做,請使用檔案伺服器上的「本機安全性原則」主控台,將 SQL Server 安裝帳戶新增至管理稽核及安全性記錄權限。

如果您要使用 Windows 檔案伺服器以外的 SMB 檔案共用儲存,請洽詢儲存廠商,了解檔案伺服器端的對等設定。

SQL Server 支援掛接點。 掛接的磁碟區 (或掛接點) 可讓您使用單一磁碟機代號來代表許多磁碟或磁碟區。 如果您以磁碟機代號 D: 來代表一般的磁碟或磁碟區,則您可以連接或「掛載」額外的磁碟或磁碟區為磁碟機代號 D: 下的目錄,而不需每一個磁碟或磁碟區都有自己的磁碟機代號。

  • SQL Server 安裝程式需要已掛接磁碟機的基底磁碟機具有相關聯的磁碟機代號。 如果已掛接磁碟機的基底磁碟機沒有相關聯的磁碟機代號,則安裝程式會將下一個可用的磁碟機代號指派給磁碟機。

    注意

    如果所有磁碟機代號都已指派出去,安裝程式就會失敗。

  • SQL Server 不支援對 SQL Server 資料庫使用掛接磁碟區/掛接點根目錄。 如需詳細資訊,請參閱在 SQL Server 安裝程式中使用磁碟區掛接點時發生權限錯誤

  • SQL Server 容錯移轉叢集的其他掛接點考量:

    • SQL Server 安裝程式需要已掛接磁碟機的基底磁碟機具有相關聯的磁碟機代號。 若為容錯移轉叢集安裝,這個基底磁碟機必須是叢集磁碟機。 此版本不支援磁碟區 GUID。

    • 具有磁碟機代號的基底磁碟機不可在容錯移轉叢集執行個體之間共用。 這是容錯移轉叢集的正常限制,但對獨立和多執行個體的伺服器無此限制。

    • SQL Server 的叢集安裝受限於可用的磁碟機代號數目。 假設您對作業系統只使用一個磁碟機代號,而且其他所有磁碟機代號都可作為正常叢集磁碟機或裝載掛接點的叢集磁碟機,則限制為每一容錯移轉叢集最多可有 25 個 SQL Server 執行個體。

      提示

      可藉由使用 SMB 檔案共享選項來克服 25 個執行個體的限制。 如果您使用 SMB 檔案共用作為儲存選項,則最多可以安裝 50 個 SQL Server 容錯移轉叢集執行個體。

    • 不支援在掛接其他磁碟機之後格式化磁碟機。

    • SQL Server 2005 和更新版本中的 SQL Server 資源相依於 SQL 網路名稱資源,以及保存資料的實體磁碟資源。 掛接點和主機磁碟機必須顯示為叢集實體磁碟資源。 此外,具有磁碟機代號的實體磁碟和每個已掛接的磁碟區也必須新增為 SQL Server 相依性。

    • 如果執行新的安裝,則會在具有相關磁碟機代號的實體磁碟和掛接點上設定正確的相依性權限。 相依性權限會在安裝期間自動設定。

    • 如果只新增根實體磁碟相依性,而未新增掛接點相依性,則會在進行容錯移轉時發生資料庫損毀。 如果磁碟資源在離線後恢復線上狀態,即使沒有容錯移轉,也可能在 SQL Server 重新啟動期間發生資料庫損毀。

  • 掛接點的最佳做法:

    • 如果您將掛接點從一個共用磁碟移至另一個共用磁碟,請確定這些共用磁碟位於相同的群組中。

    • 嘗試將根 (主機) 磁碟區專用於掛接點。 根磁碟區是裝載掛接點的磁碟區。 如果您必須執行 Chkdsk.exe 工具,此做法將大幅縮短可再次對已掛接的磁碟區進行存取所需的時間。 這也可減少從主機磁碟區上的備份還原所需的時間。

    • 如果您將根 (主機) 磁碟區專用於掛接點,主機磁碟區的大小至少必須是 5 MB。 這樣可以降低磁碟區用於掛接點以外的任何項目的可能性。

SQL Server 容錯移轉叢集安裝只有在安裝 tempdb 檔時才支援本機磁碟。 請確定為 tempdb 資料和記錄檔指定的路徑在所有叢集節點上都是有效的。 在容錯移轉期間,如果 tempdb 目錄在容錯移轉目標節點上無法使用,SQL Server 資源將無法上線。 如需詳細資訊,請參閱 資料檔案的儲存類型Database Engine 組態 - 資料目錄

  • 如果您在 iSCSI 技術元件上部署 SQL Server 容錯移轉叢集,我們建議您謹慎進行。 如需詳細資訊,請參閱< iSCSI 技術元件對於 SQL Server 的支援>(機器翻譯)。

  • 如需詳細資訊,請參閱< Microsoft 叢集的 SQL Server 支援原則>(機器翻譯)。

  • 如需有關適當仲裁磁碟機組態的詳細資訊,請參閱< 仲裁磁碟機組態資訊>(機器翻譯)。

  • 若要在 SQL Server 來源安裝檔案與叢集位於不同網域時安裝 SQL Server 容錯移轉叢集,請將安裝檔案複製到可供 SQL Server 容錯移轉叢集使用的現行網域。

檢閱安全考量

若要使用加密,請將具有 WSFC 叢集完整 DNS 名稱的伺服器憑證,安裝在 SQL Server 容錯移轉叢集中的所有節點上。 例如,如果您有一個雙節點叢集 (節點名稱為 "Test1.DomainName.com" 和 "Test2.DomainName.com"),和一個 SQL Server 容錯移轉叢集執行個體 (名稱為 "Virtsql"),則您必須取得 "Virtsql.DomainName.com" 的憑證,並將憑證安裝在 test1 及 test2 節點上。 接著,您可以選取「SQL Server 組態管理員」中的 [強制通訊協定加密] 核取方塊,為您的容錯移轉叢集設定加密。

重要

除非您已將憑證安裝在容錯移轉叢集執行個體的所有參與節點上,否則請勿選取 [強制通訊協定加密] 核取方塊。

SQL Server 安裝若採用與舊版並存的設定,則 SQL Server 服務必須使用僅存在於全域網域群組中的帳戶。 此外,SQL Server 服務所使用的帳戶不可出現在本機的管理員群組中。 如果沒有遵照這項指導方針進行,將會導致非預期的安全性行為。

若要建立容錯移轉叢集,您必須是本機管理員,並且有權以服務的形式登入,在容錯移轉叢集執行個體的所有節點上作為作業系統的一部分。

在 Windows Server 2008 和更新版本上,會自動產生用於 SQL Server 服務的服務 SID。 對於從舊版 SQL Server 升級的 SQL Server 容錯移轉叢集執行個體,將會保留現有的網域群組和 ACL 設定。

網域群組必須與電腦帳戶位在相同的網域內。 例如,如果即將安裝 SQL Server 的機器位於 SQLSVR 網域內 (這是 MYDOMAIN 子系), 您就必須在 SQLSVR 網域中指定群組。 SQLSVR 網域可能會包含 MYDOMAIN 中的使用者帳戶。

叢集節點若為網域控制站,則無法安裝 SQL Server 容錯移轉叢集。

檢閱 Security Considerations for a SQL Server Installation中的內容。

若要啟用 SQL Server 的 Kerberos 驗證,請參閱 Microsoft 知識庫中的如何在 SQL Server 中使用 Kerberos 驗證

SQL Server 容錯移轉叢集執行個體 (FCI) 需要已加入網域的叢集節點。 不支援下列設定:

  • 工作群組叢集上的 SQL FCI。
  • 多網域叢集上的 SQL FCI。
  • 網域 + 工作群組叢集上的 SQL FCI。

檢閱網路、連接埠和防火牆的考量

開始 SQL Server 安裝程式之前,請確認您已停用所有私人網路卡的 NetBIOS。

您 SQL Server 的網路名稱和 IP 位址不應該用於任何其他目的,如檔案共用。 如果您想要建立檔案共用資源,請對資源使用不同且唯一網路名稱及 IP 位址。

重要

建議您不要在資料磁碟機上使用檔案共用,因為它們可能影響 SQL Server 的行為和效能。

儘管 SQL Server 在叢集內支援具名管道和透過 TCP/IP 的 TCP/IP 通訊端,仍建議您在叢集設定中使用 TCP/IP 通訊端。

Windows 叢集不支援 ISA 伺服器,SQL Server 容錯移轉叢集也不加以支援。

遠端登錄服務必須正常執行。

遠端管理必須已啟用。

針對使用非預設連接埠的 SQL Server 執行個體,請使用 SQL Server 組態管理員的網路組態,來為您要解除封鎖的 SQL Server 執行個體決定要使用的連接埠。 如果您想要使用 SQL Server Browser 服務 (使用不同於叢集執行個體與 UDP 連接埠 1434 的 IP 位址) 連線到 SQL Server 執行個體,請在防火牆中為 IPALL 啟用 TCP 連接埠。

容錯移轉叢集安裝程式作業包括檢查網路連結順序的規則。 雖然連結順序看起來可能是正確的,但是您可能已停用或「準刪除」系統上的 NIC 組態。 「準刪除」NIC 組態可能會影響連結順序,而且會導致連結順序規則發出警告。 若要避免這種情況,請使用下列步驟來識別並移除已停用的網路介面卡:

  1. 在命令提示字元輸入:set devmgr_Show_Nonpersistent_Devices=1

  2. 輸入並執行:start devmgmt.msc

  3. 展開網路介面卡的清單。 只有實體介面卡才應該位於此清單中。 如果您擁有已停用的網路介面卡,安裝程式就會針對網路連結順序規則報告失敗。 [控制台]/[網路連線] 也會顯示此介面卡已停用。 確認控制台的 [網路設定] 顯示與 devmgmt.msc 相同的已啟用實體介面卡清單。

  4. 在您執行 SQL Server 安裝程式之前,請移除已停用的網路介面卡。

  5. 在安裝程式完成之後,請返回控制台的 [網路連線],並停用目前非使用中的任何網路介面卡。

驗證您的作業系統

確定您已正確安裝作業系統,而且其設計可支援容錯移轉叢集。 下表是 SQL Server 版本及支援這些版本之作業系統的清單。

SQL Server 版本 Windows Server 2022 Datacenter Windows Server 2022 Datacenter:Azure Edition Windows Server 2022 Standard
SQL Server 2014 (12.x) Enterprise (64 位元) x64 1 No No
SQL Server 2014 (12.x) Enterprise (32 位元) No No
SQL Server 2016 (13.x) Enterprise No No
SQL Server 2016 (13.x) Standard No No
SQL Server 2017 (14.x) Enterprise Yes .是 Yes
SQL Server 2017 (14.x) Standard Yes .是 Yes
SQL Server 2019 (15.x) Enterprise Yes .是 Yes
SQL Server 2019 (15.x) Standard Yes .是 Yes
SQL Server 2022 (16.x) Enterprise Yes .是 Yes
SQL Server 2022 (16.x) Standard Yes .是 Yes
SQL Server 版本 Windows Server 2019 Datacenter Windows Server 2019 Standard Windows Server 2016 Datacenter Windows Server 2016 Standard
SQL Server 2014 (12.x) Enterprise (64 位元) x64 1 Yes .是 .是 Yes
SQL Server 2014 (12.x) Enterprise (32 位元) Yes Yes
SQL Server 2016 (13.x) Enterprise Yes .是 .是 Yes
SQL Server 2016 (13.x) Standard Yes .是 .是 Yes
SQL Server 2017 (14.x) Enterprise Yes .是 .是 Yes
SQL Server 2017 (14.x) Standard Yes .是 .是 Yes
SQL Server 2019 (15.x) Enterprise Yes .是 .是 Yes
SQL Server 2019 (15.x) Standard Yes .是 .是 Yes
SQL Server 2022 (16.x) Enterprise Yes .是 .是 Yes
SQL Server 2022 (16.x) Standard Yes .是 .是 Yes

1 在 WOW 模式中不支援 SQL Server 叢集。 其中包括從最初以 WOW 模式安裝的舊版 SQL Server 容錯移轉叢集的升級。 對於這類叢集,唯一的升級選項就是並存安裝新版本並進行移轉。

多重子網路設定的其他考量

安裝 SQL Server 多重子網路容錯移轉叢集時,請將以下幾節說明的需求謹記在心。 一個多重子網路設定涉及了多重子網路間的叢集,因此涉及使用多重 IP 位址,及改變 IP 位址資源的相依性。

SQL Server 版本和作業系統考量

如需 SQL Server 版本所支援的功能清單,請參閱:

若要建立 SQL Server 多重子網路容錯移轉叢集,您必須先在多重子網路上建立 Windows Server 多站台容錯移轉叢集。

SQL Server 容錯移轉叢集相依於 Windows Server 容錯移轉叢集,以確保在發生容錯移轉時,IP 相依性條件是有效的。

Windows Server 2008 R2 和更新版本要求所有叢集伺服器必須位於相同的 Active Directory 網域中。 因此,即使叢集節點存在於不同的子網路中,SQL Server 多重子網路容錯移轉叢集仍需要所有的叢集節點位於相同的 Active Directory 網域中。

IP 位址和 IP 位址資源相依性

  1. 在一個多重子網路設定中,IP 位址資源相依性乃設為 OR。 如需詳細資訊,請參閱建立新的 SQL Server 容錯移轉叢集 (安裝程式)

  2. 不支援混合的 AND-OR IP 位址相依性。 例如,不支援 <IP1> AND <IP2> OR <IP3>。

  3. 不支援每個子網路有多個 IP 位址。

    如果您決定使用為相同子網路設定的多個 IP 位址,您可能會在 SQL Server 啟動期間遇到用戶端連線失敗。

如需關於 Windows Server 2008 R2 多站台容錯移轉的詳細資訊,請參閱 Windows Server 2008 R2 容錯移轉叢集站台設計多站台容錯移轉叢集的叢集服務或應用程式

設定 Windows Server 容錯移轉叢集

您至少必須在伺服器叢集的一個節點上設定 Microsoft Cluster Service (WSFC)。 您也必須使用 WSFC 來執行 SQL Server Enterprise、SQL Server Business Intelligence 或 SQL Server Standard。 SQL Server Enterprise 最多支援含有 16 個節點的容錯移轉叢集。 SQL Server Business Intelligence 和 SQL Server Standard 支援兩個節點的容錯移轉叢集。

SQL Server 服務的資源 DLL 會匯出兩個函式,可讓 WSFC 叢集管理員用來檢查 SQL Server 資源的可用性。 如需詳細資訊,請參閱 容錯移轉叢集執行個體的容錯移轉原則

WSFC 必須能夠使用 IsAlive 檢查,驗證容錯移轉叢集執行個體是否正在執行中。 這需要使用信任連接來連接到伺服器。 根據預設,執行叢集服務的帳戶不會設定為叢集中節點上的管理員,且 BUILTIN\Administrators 群組沒有登入 SQL Server 的權限。 只有當您變更叢集節點上的權限時,這些設定才會變更。

設定網域名稱服務 (DNS) 或 Windows 網際網路名稱服務 (WINS)。 DNS 伺服器或 WINS 伺服器必須要在安裝 SQL Server 容錯移轉叢集的環境中執行。 SQL Server 安裝程式需要 SQL Server IP 介面虛擬參考的動態網域名稱服務註冊。 DNS 伺服器組態應該要允許叢集節點動態登錄對應至網路名稱的線上 IP 位址。 如果無法完成動態註冊,安裝程式會失敗,且會將安裝復原。 如需詳細資訊,請參閱 KB947048(封存連結)

安裝 Microsoft 分散式交易協調器 (MSDTC)

在容錯移轉叢集上安裝 SQL Server 之前,請判斷是否必須建立 Microsoft 分散式交易協調器 (MSDTC) 叢集資源。 如果您只要安裝資料庫引擎,則不需要 MSDTC 叢集資源。 如果您要安裝資料庫引擎和 SSIS 或工作站元件,或是要使用分散式交易,則必須安裝 MSDTC。 僅限 Analysis Services 的執行個體不需要 MSDTC。

在 Windows Server 2008 和更新版本上,您可以在單一容錯移轉叢集上安裝多個 MSDTC 執行個體。 第一個安裝的 MSDTC 執行個體將會是 MSDTC 的叢集預設執行個體。 SQL Server 會自動使用 MSDTC 執行個體,藉以利用安裝到 SQL Server 本機叢集資源群組的 MSDTC 執行個體。 但是,個別的應用程式可以對應到叢集上的任何 MSDTC 執行個體。

下列規則會套用至由 SQL Server 選擇的 MSDTC 執行個體:

  • 使用已安裝到本機群組的 MSDTC,或

  • 使用對應的 MSDTC 執行個體,或

  • 使用叢集的預設 MSDTC 執行個體,或

  • 使用安裝在本機電腦的 MSDTC 執行個體

重要

如果已安裝至 SQL Server 本機叢集群組的 MSDTC 執行個體失敗,SQL Server 並不會自動嘗試使用預設叢集執行個體或本機電腦的 MSDTC 執行個體。 您必須從 SQL Server 群組中完全移除失敗的 MSDTC 執行個體,才能使用其他 MSDTC 執行個體。 同樣地,如果您建立 SQL Server 的對應,當對應的 MSDTC 執行個體失敗時,您的分散式交易也將失敗。 如果您希望 SQL Server 使用不同的 MSDTC 執行個體,就必須將 MSDTC 執行個體新增至 SQL Server 的本機叢集群組,或刪除對應。

設定 Microsoft 分散式交易協調器

安裝作業系統並設定叢集之後,您必須使用「叢集管理員」來設定 MSDTC 以搭配叢集使用。 未能將 MSDTC 叢集化,並不會封鎖 SQL Server 安裝程式,但如果 MSDTC 未正確設定,SQL Server 應用程式功能可能會受到影響。

另請參閱

下一步