適用於: SQL Server Azure Data Factory 中的 SSIS Integration Runtime

建議不要使用叢集化 Integration Services,因為 Integration Services 服務並非叢集化或叢集感知服務,且不支援從一個叢集節點容錯移轉至另一個叢集節點。 因此,在叢集環境中,應該以獨立服務的形式在叢集中的每一個節點上安裝及啟動 Integration Services。

雖然 Integration Services 服務並非叢集服務,但在叢集的每個節點上個別安裝 Integration Services 之後,您就可以手動設定該服務,將其當做叢集資源來運作。

不過,如果您在建立叢集硬體環境時的目標是高可用性,則就算不將 Integration Services 服務設定為叢集資源,也可以達到此目標。 若要從叢集的任何其他節點管理叢集中任何節點上的套件,請在叢集中的每個節點上修改 Integration Services 服務的設定檔。 您要將每個設定檔修改成指向套件儲存所在的 SQL Server 的所有可用執行個體。 這個解決方案能提供大多數客戶所需的高可用性,而沒有將 Integration Services 服務設定為叢集資源時可能遇到的問題。 如需如何變更設定檔的詳細資訊,請參閱 Integration Services 服務 (SSIS 服務) (部分機器翻譯)。

若要針對如何在叢集環境中設定服務而進行明智的決策,了解 Integration Services 服務的角色是很重要的。 如需詳細資訊,請參閱 Integration Services 服務 (SSIS 服務) (部分機器翻譯)。

將 Integration Services 服務設定為叢集資源的一些可能缺點包括:

  • 當容錯移轉發生時,執行中的套件不會重新啟動。

    您可以藉由從檢查點重新啟動封裝而從封裝失敗復原。 如果不將服務設定為叢集資源,就可以從檢查點重新啟動。 如需詳細資訊,請參閱 使用檢查點來重新啟動封裝

  • 當您在 SQL Server 的不同資源群組中設定 Integration Services 服務時,無法從用戶端電腦使用 Management Studio 來管理儲存在 msdb 資料庫中的套件。 在這種雙躍點的案例中,Integration Services 服務無法委派認證。

  • 如果您擁有多個在叢集中包含 Integration Services 服務的 SQL Server 資源群組,則容錯移轉可能會導致非預期的結果。 請考慮下列案例。 包含 SQL Server 服務與 Integration Services 服務的「群組 1」在「節點 A」上執行。另一個也包含 SQL Server 服務與 Integration Services 服務的「群組 2」則在「節點 B」上執行。「群組 2」容錯移轉至「節點 A」。在「節點 A」上啟動 Integration Services 服務另一個執行個體的嘗試失敗,因為 Integration Services 服務是單一執行個體的服務。 正嘗試容錯移轉至「節點 A」的 SQL Server 服務是否也會失敗,取決於「群組 2」中的 Integration Services 服務設定。 如果將 Integration Services 服務設定為影響資源群組中的其他服務,則正在進行容錯移轉的 SQL Server 服務將會失敗,因為 Integration Services 服務已失敗。 如果服務是設定為不影響資源群組中的其他服務,則 SQL Server 服務就可以容錯移轉至「節點 A」。除非「群組 2」中的 Integration Services 服務是設定為不影響資源群組中的其他服務,否則如果正在容錯移轉的 Integration Services 服務失敗,可能會導致正在容錯移轉的 SQL Server 服務也失敗。

    將服務設定為叢集資源

    針對認為將 Integration Services 服務設定為叢集資源的優點多於缺點的客戶,此節提供必要的設定指示。 不過,Microsoft 並不建議將 Integration Services 服務設定為叢集資源。

    若要將 Integration Services 服務設定為叢集資源,您必須完成下列工作。

  • 在叢集上安裝 Integration Services。

    若要在叢集上安裝 Integration Services,您必須在叢集中的每個節點上安裝 Integration Services。

  • 將 Integration Services 設定為叢集資源。

    在叢集中的每個節點上安裝 Integration Services 之後,您需要將 Integration Services 設定為叢集資源。 當您將 Integration Services 服務設定為叢集資源後,就可以將該服務加入至與 SQL Server 資料庫引擎相同的資源群組,或加入不同的群組。 下表描述在選取資源群組時的可能優點和缺點。

    當 Integration Services 和 SQL Server 位於相同的資源群組 當 Integration Services 和 SQL Server 位於不同的資源群組 用戶端電腦可以使用 SQL Server Management Studio 來管理 msdb 資料庫中儲存的套件,因為 SQL Server 資料庫引擎與 Integration Services 服務兩者都在相同的虛擬伺服器上執行。 這項設定可避免雙躍點狀況的委派問題。 用戶端電腦無法使用 SQL Server Management Studio 來管理儲存在 msdb 資料庫中的套件。 用戶端可以連線到 Integration Services 服務執行所在的虛擬伺服器。 不過,該電腦無法將使用者的認證委派到 SQL Server 執行所在的虛擬伺服器。 這稱為雙躍點狀況。 Integration Services 服務會與其他 SQL Server 服務競爭 CPU 與其他電腦資源。 Integration Services 服務不會與其他 SQL Server 服務競爭 CPU 與其他電腦資源,因為不同的資源群組是設定在不同的節點上。 封裝載入及儲存到 msdb 資料庫的速度會加快,產生的網路傳輸量也較少,因為兩種服務都是在相同電腦上執行。 封裝載入及儲存到 msdb 資料庫的速度可能會減慢,並產生較多的網路傳輸量。 兩種服務會同時上線或離線。 當 SQL Server 資料庫引擎離線時,Integration Services 服務可能會上線。 因此,儲存在 SQL Server 資料庫引擎的 msdb 資料庫中的套件就無法使用。 必要的話,無法將 Integration Services 服務快速地移至另一個節點。 必要的話,可以將 Integration Services 服務更快速地移至另一個節點。

    在決定將 Integration Services 加入至哪一個資源群組之後,就必須將 Integration Services 設定為該群組中的叢集資源。

  • 設定 Integration Services 服務與套件存放區。

    將 Integration Services 設定為叢集資源之後,您必須在叢集中的每個節點上,修改 Integration Services 服務設定檔的位置與內容。 在進行這些修改後,組態檔及封裝存放區就能在發生容錯移轉時供所有的節點使用。 在修改組態檔的位置及內容之後,必須將服務重新連線。

  • 將 Integration Services 服務上線為叢集資源。

    在叢集或任何伺服器上設定 Integration Services 服務之後,您可能必須先設定 DCOM 權限,才能從用戶端電腦連線到該服務。 如需詳細資訊,請參閱 Integration Services 服務 (SSIS 服務) (部分機器翻譯)。

    Integration Services 服務無法委派認證。 因此,當下列條件成立時,您無法使用 Management Studio 來管理儲存在 msdb 資料庫中的套件:

  • Integration Services 服務與 SQL Server 是在不同的伺服器或虛擬伺服器上執行。

  • 執行 SQL Server Management Studio 的用戶端是第三部電腦。

    用戶端可以連線到 Integration Services 服務執行所在的虛擬伺服器。 不過,該電腦無法將使用者的認證委派到 SQL Server 執行所在的虛擬伺服器。 這稱為雙躍點狀況。

    在叢集上安裝 Integration Services

  • 安裝和設定具有一個或多個節點的叢集。

  • (選擇性) 安裝叢集服務,例如 SQL Server 資料庫引擎。

  • 在叢集的每個節點上安裝 Integration Services。

    將 Integration Services 設定為叢集資源

  • 開啟 [叢集管理員] 。

  • 在主控台樹狀目錄中,選取 [Groups] 資料夾。

  • 在結果窗格中,選取您打算新增 Integration Services 的群組:

  • 若要將 Integrations Services 當做叢集資源新增到與 SQL Server 相同的資源群組,請選取 SQL Server 所屬的群組。

  • 若要將 Integrations Services 當做叢集資源新增到與 SQL Server 不同的群組,請選取 SQL Server 所屬群組以外的群組。

  • 在 [檔案] 功能表上,指向 [開新檔案] ,然後按一下 [資源] 。

  • 在 [資源精靈] 的 [新資源] 頁面上鍵入名稱,然後選取 [一般服務] 作為 [服務類型] 。 請不要變更 [群組] 的值。 按 [下一步] 。

  • 在 [可能的擁有者] 頁面中,加入或移除作為資源之可能擁有者的叢集節點。 按 [下一步] 。

  • 若要在 [相依性] 頁面上加入相依性,請選取 [可用的資源] 之下的資源,然後按一下 [加入] 。 在容錯移轉時,SQL Server 與儲存 Integration Services 套件的共用磁碟應該會在 Integration Services 上線之前重新上線。 選取相依性之後,請按一下 [下一步] 。

    如需詳細資訊,請參閱 加入 SQL Server 資源的相依性

  • 在 [一般服務參數] 頁面上,輸入 MsDtsServer 作為服務的名稱。 按 [下一步] 。

  • 在 [登錄複寫] 頁面上,按一下 [加入] 以加入用來識別 Integration Services 服務設定檔位置的登錄機碼。 此檔案必須位在與 Integration Services 服務位於相同的資源群組中的共用磁碟上。

  • 在 [登錄機碼] 對話方塊中,輸入 SOFTWARE\Microsoft\Microsoft SQL Server\100\SSIS\ServiceConfigFile 。 按一下 [確定] ,然後按一下 [完成] 。

    Integration Services 服務現在已新增為叢集資源。

    設定 Integration Services 服務和封裝存放區

  • 尋找位於 %ProgramFiles%\Microsoft SQL Server\100\DTS\Binn\MsDtsSrvr.ini.xml 的組態檔。 將其複製到其中加入了 Integration Services 服務之群組的共用磁碟。

  • 在共用磁碟上,建立名為 Packages 的新資料夾作為封裝存放區。 請將新資料夾的「列出資料夾」和寫入權限授與適當的使用者和群組。

  • 在共用磁碟上,在文字或 XML 編輯器中開啟組態檔。 將 ServerName 元素的值變更為位在相同資源群組之虛擬 SQL Server 的名稱。

  • StorePath 元素的值,變更為在上一個步驟的共用磁碟上所建立之 Packages 資料夾的完整路徑。

  • 在每個節點上,將 [登錄] 中的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\SSIS\ServiceConfigFile 值,更新為共用磁碟上服務組態檔的完整路徑和檔案名稱。

    將 Integration Services 服務連線

  • 在 [叢集系統管理員] 中,選取 [Integration Services] 服務並按一下滑鼠右鍵,然後從快顯功能表中選取 [上線]。 Integration Services 服務現在已上線為叢集資源。
  •