服務架構 (Reporting Services)

在 Reporting Services 中,報表伺服器是當做 Windows 服務實作,該服務包含可在個別應用程式網域中執行的各種功能區。此服務主控報表管理員、報表伺服器 Web 服務,以及背景處理功能區。本主題描述服務的構成要素,讓您得知要啟用哪些功能以及如何疑難排解所發生之任何錯誤的選擇。

架構圖表

下圖顯示 Reporting Services 中的服務架構。

服務架構圖表

[!附註]

並非所有報表伺服器功能都反映在架構圖表中。例如,初始化和可回復加密就是在此圖表說明的三種功能區範圍之外的重要伺服器作業。

服務與架構

報表伺服器 Windows 服務是一組合併的應用程式,這些應用程式可在單一程序的單一帳戶下,利用單一報表伺服器資料庫和組態檔集合的存取執行。整個服務的組態設定都儲存在 RSeportServer.config、ReportServerServices.exe.config 和報表伺服器資料庫中。

在服務內,報表管理員、Web 服務以及背景處理都在個別的應用程式網域中執行。雖然預設是啟用所有三個功能區,但是您可以設定要在任何指定之時間使用服務的哪些部分。例如,如果您不想支援視需要報表或互動式報表,您可以關閉 Web 服務。

雖然伺服器功能區隔離在個別的應用程式網域中,但是服務的記憶體管理和程序的健全狀況會以整體的方式管理。記憶體臨界值會以其完整的狀態設定成服務。報表伺服器會將回收動作當做內部作業處理。您無法視需要回收服務的個別部分。不過,您可以指定組態設定,指定持續連線要保持多久的時間。

如果您在多個執行個體之間區隔服務的功能區 (例如,在第一個執行個體中啟用報表管理員,在第二個執行個體中啟用 Web 服務,並在第三個執行個體中啟用背景處理),記憶體和組態設定的範圍就會限定在於該特定執行個體中執行的應用程式。請注意,即使您區隔服務的功能區,這些功能區彼此之間還是存在某些相互依存性。完整的報表伺服器安裝通常會使用全部三個功能區。如需詳細資訊,請參閱<如何:開啟或關閉 Reporting Services 功能>。

HTTP 接聽程式

Reporting Services 包含一個 HTTP 接聽程式,可監視導向本機電腦上特定通訊埠之 HTTP.SYS 的內送要求。當您設定伺服器時,主機名稱和通訊埠會在 URL 解析上指定。根據您使用的作業系統,您指定的通訊埠可以與其他應用程式共用。

HTTP 接聽程式會實作 HTTP 1.1 通訊協定。它會使用作業系統內建的 HTTP.SYS 功能。因此,Reporting Services 需要使用包含 HTTP.SYS 做為內部元件的作業系統。

當 HTTP 接聽程式處理要求時,它會將該要求轉送到驗證層以確認使用者識別。要求經過驗證後,就會呼叫報表伺服器 Web 服務。

HTTP 接聽程式使用 1.0 版的 HTTP Server API。如需詳細資訊,請參閱 MSDN 上的<HTTP Server API>(英文)。

驗證層

Reporting Services 包含一個驗證層,可確認使用者識別或進行要求的應用程式。支援下列驗證類型:Windows 整合式安全性、NTLM 驗證、基本驗證、表單或自訂驗證,以及匿名存取。Reporting Services 預設使用 Windows 整合式安全性和 NTLM 驗證,但是您可以在組態檔中指定不同的驗證類型。每個報表伺服器執行個體都只能設定成一個驗證類型。如果您擁有向外延展部署組態,環境中的每個節點都必須使用相同的驗證類型。

報表伺服器驗證會在網路安全性設定和用戶端應用程式的環境下運作。能否成功使用特定的驗證類型取決於瀏覽器和網路安全性功能。例如,使用 Windows 整合式安全性時,需要您使用 Internet Explorer、擁有 Kerberos 網路驗證,而且啟用模擬。此外,如果您要將整合式安全性用於報表資料來源連接,您也必須啟用委派,才能允許遠端資料來源的後續連接。

如需有關 Reporting Services 中驗證的詳細資訊,請參閱<在 Reporting Services 中設定驗證>。

報表管理員

報表管理員為零使用量的用戶端,可提供報表伺服器 Web 服務的 Web 前端存取權。這是現成的工具,可用於檢視和管理報表伺服器內容與作業。

根據預設,報表管理員會提供在相同的伺服器執行個體中執行之 Web 服務的前端存取權。如果在伺服器執行個體中沒有啟用 Web 服務,您可以在組態檔中設定 URL,將報表管理員指向不同執行個體或電腦中的報表伺服器 Web 服務。

報表管理員會在用戶端電腦的瀏覽器工作階段內執行。用戶端上沒有儲存任何應用程式檔案或設定。只要瀏覽器視窗保持開啟,就會保留工作階段狀態。每當使用者連接到報表管理員時,使用者專屬的設定就會儲存到報表伺服器資料庫並重複使用。

報表管理員可以在訂閱定義頁面中容納自訂傳遞延伸模組設定。如果您要建立並部署自訂傳遞延伸模組,報表管理員可以呈現選項並動態顯示用於該延伸模組的文字。

若要使用報表管理員,您必須定義應用程式的 URL。只要不在第一個地方建立 URL,就可以有效停用報表管理員。如果您在預設組態中安裝 Reporting Services,由於 URL 已經建立,因此當您決定關閉應用程式時,您必須刪除該 URL。

如果您設定報表伺服器在 SharePoint 整合模式下執行,就會關閉報表管理員。即使您先前已經設定 URL,您也無法將報表管理員用於 SharePoint 整合模式下執行的報表伺服器。

如需有關報表管理員的詳細資訊,請參閱<報表管理員>和<如何:設定報表管理員>。

報表伺服器 Web 服務

報表伺服器 Web 服務是由使用者或應用程式即時起始之所有視需要報表和模型處理要求的核心引擎,包括在報表管理員來回導向的大部分要求。

報表伺服器 Web 服務會執行視需要執行之報表的端對端處理。為支援互動式處理,Web 服務會驗證使用者並檢查授權規則,然後再處理要求。Web 服務支援預設的 Windows 安全性延伸模組和自訂驗證延伸模組。

Web 服務也是與報表伺服器整合之自訂應用程式的主要程式設計介面。如果您要提供自訂使用者介面,您可以使用沒有報表管理員的 Web 服務。

如需詳細資訊,請參閱<報表伺服器 Web 服務>。

背景處理

背景處理是在背景執行,並由報表伺服器起始的作業。大部分的背景處理包括排程報表處理和訂閱傳遞,但是也包含報表伺服器資料庫的維護工作。

排程、訂閱與傳遞的背景處理是可以設定的,而且可以針對依據原則管理的 Reporting Services Facet,透過 Management Studio 中的介面區組態關閉。如果您要關閉這些作業,排程報表或模型處理將無法用於目前的服務執行個體。資料庫維護是無法關閉的核心工作,因為它必須讓伺服器保持在運作的狀態下。

背景處理作業取決於前端應用程式或定義的 Web 服務。特別是,如果報表伺服器設定成 SharePoint 整合,然後轉送到 Web 服務以便在報表伺服器資料庫中建立並儲存定義,排程和訂閱就會在報表管理員的應用程式頁面或 SharePoint 網站上建立。

如果您要提供的自訂程式碼需要以程式設計方式存取後端處理,使用 Reporting Services WMI 提供者。如需詳細資訊,請參閱<Reporting Services WMI 提供者>。若要了解有關排程和傳遞處理功能的詳細資訊,請參閱<排程與傳遞處理器>。

用於背景處理的驗證和記憶體管理

如同服務架構圖表中的說明,背景處理會以不同於報表管理員和 Web 服務的方式,處理驗證和記憶體管理。背景處理序會使用 Authz.dll 來確認用來建立訂閱的使用者帳戶是否仍然擁有檢視報表的正確權限。此檢查將確保即將收到報表的使用者為網域中的有效 Windows 使用者。當做背景處理執行的其他所有報表和模型處理,則會在識別自動執行帳戶後要求。