規劃向外延展部署

報表伺服器向外延展部署是由共用單一報表伺服器資料庫的兩個或多個報表伺服器執行個體組成。向外延展部署可讓您增加同時存取報表的使用者數目,以及提升報表伺服器的可用性。使用這種部署拓撲時,建議您設定具有相同設定的報表伺服器執行個體 (雖然不是必要的)。您可以針對特定功能設定每個伺服器,並將這些功能當做獨立的執行個體執行,例如,當您想要將互動式報表處理與已排程或訂閱的報表處理隔離時。

下列清單摘要說明向外延展部署中支援的案例:

  • 在負載平衡的方案中執行報表伺服器執行個體,以支援大量的視需要報表。

  • 增加報表伺服器的可用性。

  • 在特定的電腦上隔離服務功能以便允許所有可用系統資源的最大用量,但仍然從相同的報表伺服器資料庫儲存與存取相同的資料。

下列需求適用於向外延展部署。

需求

說明

版本需求

下列版本支援向外延展部署:Enterprise、Developer 和 Evaluation。

Standard、Workgroup 和 Express 版本不支援向外延展部署。

版本需求

所有報表伺服器都必須是相同的主要版本,而且這些版本必須擁有相同的更新與 Service Pack。

網域需求

所有的報表伺服器必須在同一個網域中,或在受信任的網域中。

驗證需求

向外延展部署中的報表伺服器執行個體必須具備相同類型的驗證延伸模組。如果您已建立自訂驗證延伸模組,您必須在所有節點上部署並使用該延伸模組。您應該在向外延展部署的每個節點上,設定相同的驗證類型。

因為這個限制,您無法設定向外延展部署以支援內部網路和外部網路透過個別的報表伺服器執行個體 (其中每個執行個體都設定成不同的驗證類型和授權規則) 同時存取相同的報表伺服器資料庫。

這個限制的原因在於 Reporting Services 不會同步處理不同驗證類型之間的自訂權限設定。如果您中斷權限繼承,並在特定項目上建立角色指派,當透過其他驗證提供者進行驗證的使用者存取項目時,將會發生拒絕存取的錯誤。若要解決這個問題,您必須透過兩部伺服器複製每個項目專屬的角色指派,以取得兩個驗證延伸模組的雙重安全性原則。這個勞力密集而且容易出錯的作法可能會導致拒絕存取的錯誤。因此,系統不支援這個狀況。

本主題的其他章節提供支援之狀況的詳細資訊。

適用於負載平衡方案的向外延展部署

設定報表伺服器向外延展部署後,可以在網路負載平衡 (NLB) 叢集中讓報表伺服器節點的負載平衡,以支援大量報表。也可以使用軟體或硬體方案來實作 NLB 叢集。只有在增加報表伺服器的回應能力,或者增加可同時處理之互動式報表的數目時,才需要在 NLB 叢集中部署 Reporting Services。已排程報表和訂閱處理在向外延展部署中的執行速度較快,但是不需要 NLB 叢集就可以得到更快的效能。

若要建立與設定 NLB 叢集,您必須使用支援這項功能的軟體和工具。在 Microsoft Windows Server 作業系統和協力廠商應用程式中提供負載平衡功能。Reporting Services 不會藉由本身提供負載平衡功能或定義單一虛擬伺服器 URL 以存取多個報表伺服器節點的能力。您選取的硬體或軟體方案必須提供一種方式來定義針對報表伺服器向外延展中的所有節點提供單一進入點的虛擬伺服器名稱。 

Reporting Services 無法識別 Microsoft Cluster Services。如果您使用的是 Microsoft Cluster Services,請檢閱下列資訊:

  • 如果 Reporting Services 在包含 Microsoft Cluster Services 的主動/被動叢集上執行,報表伺服器服務會執行與處理部署服務所在每個叢集節點的要求。

  • 在屬於容錯移轉叢集一部分的 SQL Server 上主控報表伺服器資料庫時,必須將報表伺服器設定為使用容錯移轉叢集的虛擬名稱連接到報表伺服器資料庫。否則,當容錯移轉發生時,報表伺服器將無法連接到報表伺服器資料庫。

  • 您無法在 Microsoft Cluster Services 上,透過 SQL Server 容錯移轉叢集部署報表伺服器。不過,您可以在安裝 SQL Server 期間,使用僅限檔案選項安裝報表伺服器。 

設定您的部署

  1. 設定兩個以上要在 NLB 叢集中執行的伺服器。

  2. 設定個別的伺服器來主控報表伺服器資料庫。

  3. 在 NLB 叢集的每個節點上安裝報表伺服器執行個體,藉以安裝並設定報表伺服器向外延展部署。如需有關如何安裝報表伺服器,並將其加入向外延展部署的詳細資訊,請參閱<如何:設定報表伺服器向外延展部署 (Reporting Services 組態)>。

  4. 設定檢視狀態驗證,並檢查報表伺服器組態。如需詳細資訊,請參閱<如何:在網路負載平衡叢集上設定報表伺服器>。

  5. 在向外延展部署的每個節點上,將報表伺服器的 Hostname 屬性設定為使用 NLB 的 URL 名稱。此步驟會設定報表伺服器所產生的 URL,以指向 NLB 而非特定的伺服器。如需詳細資訊,請參閱<如何:在網路負載平衡叢集上設定報表伺服器>。

用於改善服務功能效能的向外延展部署

改善報表伺服器效能的其中一個技術為設定向外延展部署,將特定類型的處理指派給每個報表伺服器。例如,您可以設定一個報表伺服器來處理已排程報表與訂閱處理,並設定另一個報表伺服器來處理互動式報表。由於報表伺服器是在相同的向外延展部署中執行,因此,每個伺服器都會處理一組相同的報表。

設定您的部署

  1. 安裝及設定報表伺服器向外延展部署。如需指示,請參閱<如何:設定報表伺服器向外延展部署 (Reporting Services 組態)>。

  2. 在用於互動式報表的伺服器上,關閉已排程報表與訂閱處理。

  3. 在用於背景處理的另一個伺服器上,關閉報表伺服器 Web 服務與報表管理員。

如需有關如何關閉特定功能的詳細資訊,請參閱<如何:開啟或關閉 Reporting Services 功能>。

應考慮的向外延展部署問題

不同的作業系統版本支援不同的文化特性和定序。

如果您的向外延展部署包含執行不同作業系統版本的電腦,它們可能也會支援不同的文化特性和定序。在報表處理和轉譯時,這會導致不一致的報表或報表錯誤。

設計報表時,報表作者可以設定報表或報表物件屬性,影響報表處理和轉譯時所用的文化特性。因為不同的作業系統版本支援不同的文化特性,而且在向外延展部署中可能不是一致由相同伺服器處理報表,這會導致不一致的報表資料或錯誤。

例如,您的向外延展部署可能包含 Windows 2003 伺服器以及另一個 Windows 2008 伺服器。在外延展部署中,Reporting Services 假設您的網路環境會使用軟體或硬體,將要求負載平衡至不同的伺服器。Reporting Services 並不會要求或假設您的負載平衡方案將特定使用者工作階段中的所有要求導向到單一伺服器。負載平衡器可以自由地將某個頁面要求傳送至 Windows 2008 伺服器,而將下一個頁面要求傳送至 Windows 2003 伺服器。在這個範例中,所處理的報表依賴 Windows 2008 伺服器 (而不是 Windows 2003 伺服器) 所支援的定序。報表處理和轉譯期間不一致的預期定序可用性可能造成不一致的報表結果。下面是一些可能發生的徵兆範例:

  • 需要執行其他分組、排序或篩選的報表處理可能使用不正確的比較定序,導致不正確的結果。

  • HideDuplicates 功能可能使用錯誤的定序,導致隱藏和顯示值的不正確結果。

  • Lookup、LookupSet 和 MultiLookup 功能可能使用錯誤的定序,導致不正確的結果。

任何與文化特性和語言互動的屬性都會受到不同作業系統處理的影響。下列是一些但非全部受影響的屬性清單:

  • 報表的語言屬性

  • 資料集的定序屬性

  • 報表項目的 LableLocId 和 ValueLocID 屬性

若要解決此問題,請考慮下列任何事項:

  • 在向外延展部署中的所有伺服器上使用相同的作業系統版本。

  • 如果您有不同的作業系統版本,在報表撰寫中只使用所有伺服器都支援的文化特性。

  • 在負載平衡方案中設定相似性,以便將特定報表和使用者工作階段的所有要求導向到相同伺服器。