如何遷移Reporting Services安裝
遷移是指將應用程序數據文件移到新的 SQL Server 2008 實例。如果存在阻止升級的程序、大規模部署或運行時間要求,或者要更改安裝的硬件或拓撲,則必須遷移安裝。
Reporting Services 的遷移過程包括手動步驟和自動步驟。報表服務器遷移包括以下任務:
- 備份數據庫、應用程序和配置文件。
- 備份加密密鑰。
- 安裝 SQL Server 2008 的新實例。如果使用的是相同硬件,則可以將 SQL Server 2008 與現有的 SQL Server 2000 或 2005 安裝并行安裝。請注意,如果您并行安裝,則可能需要將 SQL Server 2008 安裝為命名實例。
- 將報表服務器數據庫和其他應用程序文件從 SQL Server 2000 或 2005 安裝移到新的 SQL Server 2008 安裝中。
- 將任何自定義應用程序文件移到新安裝中。
- 配置報表服務器。
- 編輯 RSReportServer.config,使其包括先前安裝中的任何自定義設置。
- 或者,為新的 Reporting Services Windows 服務組配置自定義訪問控制列表 (ACL)。
- 測試安裝。
- 在確認新實例完全正常之后,刪除未使用的應用程序和工具。
請注意,如果要重用在以前的安裝中創建的現有報表服務器數據庫,則用于承載報表服務器數據庫的 SQL Server 有版本限制。有關詳細信息,請參閱創建報表服務器數據庫。
即使要遷移(而不是升級)安裝,也要考慮針對現有的安裝運行升級顧問以幫助確定可能會影響遷移的任何問題。如果要遷移尚未安裝或配置的報表服務器,則該步驟尤其有用。通過運行升級顧問,可以查明新 SQL Server 2008 安裝可能不支持的自定義設置。
此外,應當注意 SQL Server 2008 中進行了多項將影響安裝遷移方式的重要改動:
- IIS 不再是必備組件。如果要將報表服務器安裝遷移到新計算機上,則無需添加 Web 服務器角色。另外,URL 和身份驗證的配置步驟不同于以前的版本,用來診斷和解決問題的方法和工具也是如此。
- 報表服務器 Web 服務、報告管理器和報表服務器 Windows 服務合并到一個報表服務器服務中。所有這三個應用程序都在同一個帳戶下運行。所有這三個應用程序都從 RSReportServer.config 文件中讀取配置設置,這使得 RSWebApplication.config 被廢棄。
- 為了刪除重疊功能而對報表管理器和 SQL Server Management Studio 進行了重新設計。每個工具都支持一組不同的任務;這些工具不再能夠互換。
- SQL Server 2008 Reporting Services 不支持 ISAPI 篩選器。如果使用 ISAPI 篩選器,則必須在遷移之前重新設計報表解決方案。
- SQL Server 2008 Reporting Services 不支持 IP 地址限制。如果使用 IP 地址限制,則必須在遷移之前重新設計報表解決方案,或使用諸如防火墻、路由器或網絡地址轉換 (NAT) 等技術來配置被禁止訪問報表服務器的地址。
- SQL Server 2008 Reporting Services 不支持客戶端安全套接字層 (SSL) 證書。如果使用客戶端 SSL 證書,則必須在遷移之前重新設計報表解決方案。
- 如果使用 Windows 集成身份驗證之外的身份驗證類型,則必須將 RSReportServer.config 文件中的 <AuthenticationTypes> 元素更新為支持的身份驗證類型。支持的身份驗證類型包括 NTLM、Kerberos、Negotiate 和 Basic。SQL Server 2008 Reporting Services 不支持匿名、.NET Passport 和摘要式身份驗證。
- 如果在報表環境中使用自定義級聯樣式表,則這些樣式表不會被遷移。必須在遷移后對它們進行手動移動。
有關 SQL Server 2008 Reporting Services 中更改的詳細信息,請參閱升級顧問文檔和新增功能 (Reporting Services)。
在安裝新 Reporting Services 實例之前,請確保對當前安裝中的所有文件進行備份。
- 備份報表服務器數據庫的加密密鑰。此步驟對于成功遷移至關重要。而且,在遷移過程中,必須還原加密密鑰才能使報表服務器重新獲得對加密數據的訪問權限。若要備份加密密鑰,可以使用 Reporting Services 配置工具(或者,如果要從 SQL Server 2000 遷移的話,可以使用 rskeymgmt 實用工具)。
- 使用任一支持的備份 SQL Server 數據庫的方法來備份報表服務器數據庫。有關詳細信息,請參閱將報表服務器數據庫移至其他計算機中有關如何備份報表服務器數據庫的說明。
- 備份報表服務器配置文件。要備份的文件包括:
- Rsreportserver.config
- Rswebapplication.config
- Rssvrpolicy.config
- Rsmgrpolicy.config
- Reportingservicesservice.exe.config
- 報表服務器和報表管理器 ASP.NET 應用程序的 Web.config。
- ASP.NET 的 Machine.config(如果您為報表服務器操作修改過它)。
- Rsreportserver.config
報表服務器數據庫包含已發布的報表、模型、共享數據源、計劃、資源、訂閱和文件夾,還包含系統屬性、項屬性以及對報表服務器內容的訪問權限。
如果您的遷移涉及到使用另一個數據庫引擎實例,則必須將報表服務器數據庫移到新的數據庫引擎實例中。如果要使用同一個數據庫引擎實例,請跳至“配置報表服務器”。
若要移動報表服務器數據庫,請執行以下操作:
- 選擇要使用的數據庫引擎實例。SQL Server 2008 Reporting Services 要求使用 SQL Server 2005 或 2008 來承載報表服務器數據庫。SQL Server 2000 不能再用來為 SQL Server 2008 Reporting Services 承載報表服務器數據庫。如果使用的是在 8.0 兼容模式下運行的 SQL Server 2000 或 SQL Server 2005,則必須升級數據庫引擎或選擇另一個數據庫引擎實例。
- 啟動 SQL Server Management Studio 并連接到數據庫引擎。
- 如果數據庫引擎從未承載過報表服務器數據庫,請在系統數據庫中創建 RSExecRole。有關詳細信息,請參閱如何創建 RSExecRole。
- 按照將報表服務器數據庫移至其他計算機中的說明操作。
請記住,報表服務器數據庫和臨時數據庫相互依賴而且必須一起移動。請不要復制數據庫;復制不會將所有安全設置轉移至新安裝。請不要移動用于計劃報表服務器操作的 SQL Server 代理作業。報表服務器將自動重新創建這些作業。
如果安裝中包括自定義的報表項、程序集或擴展插件,則必須重新部署這些自定義組件。如果沒有使用自定義組件,請跳至“配置報表服務器”。
若要重新部署自定義組件,請執行以下操作:
- 確定是支持程序集還是需要重新編譯程序集:
- 為 SQL Server 2000 版本創建的自定義身份驗證擴展插件必須進行重新編譯。
- 必須使用呈現對象模型 (ROM) 重新編寫 SQL Server 2008 Reporting Services 的自定義呈現擴展插件。
- SQL Server 2008 Reporting Services 不支持 HTML 3.2 和 HTML OWC 呈現器。
- 其他自定義程序集應當不需要重新編譯。
- 為 SQL Server 2000 版本創建的自定義身份驗證擴展插件必須進行重新編譯。
- 將這些程序集移到新的報表服務器和報表管理器 \bin 文件夾中。在 SQL Server 2008 中,對于默認的 SQL Server 2008 Reporting Services 實例,報表服務器二進制文件位于 \Program files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin。
- 修改配置文件,以便為自定義組件添加條目。所用程序集的種類不同,這些條目也會有所不同。有關在何處放置文件和添加配置條目的說明,請參閱以下內容:
為報表服務器 Web 服務和報表管理器配置 URL,并配置與報表服務器數據庫的連接。
如果要遷移擴展部署,則應使所有報表服務器節點脫機并按照一次遷移一個服務器的方式遷移各個服務器。一旦遷移了第一個報表服務器并且其成功連接到報表服務器數據庫,則該報表服務器數據庫版本將自動升級到 SQL Server 2008 數據庫版本。
![]() |
---|
如果擴展部署中的所有報表服務器均聯機并且尚未被遷移,則它們可能會遇到 rsInvalidReportServerDatabase 異常,因為它們在連接到升級的報表服務器數據庫之后使用的仍是舊版架構。 |
- 啟動 Reporting Services 配置工具,然后連接到剛安裝的 Reporting Services 實例。有關詳細信息,請參閱如何啟動 Reporting Services 配置。
- 為報表服務器和報表管理器配置 URL。有關詳細信息,請參閱如何配置 URL(Reporting Services 配置)。
- 配置報表服務器數據庫,并從以前的安裝中選擇現有的報表服務器數據庫。成功配置之后,報表服務器服務將重新啟動,并且一旦將其與報表服務器數據庫建立了連接,該數據庫將自動升級到 SQL Server 2008 Reporting Services。有關如何運行“更改服務器向導”(該向導可用來創建或選擇報表服務器數據庫)的詳細信息,請參閱如何創建報表服務器數據庫(Reporting Services 配置)。
- 還原加密密鑰。在針對報表服務器數據庫中預先存在的連接字符串和憑據啟用可逆加密時,此步驟是必不可少的。有關詳細信息,請參閱備份和還原加密密鑰。
- 如果報表服務器安裝在新計算機上,并且您使用的是 Windows 防火墻,請確保該報表服務器偵聽的 TCP 端口處于打開狀態。默認情況下,此端口為 80。有關詳細信息,請參閱如何將防火墻配置為允許報表服務器訪問。
- 如果報表服務器安裝在 Windows Vista 或 Windows Server 2008 上,請創建角色分配并向“受信任的站點”中添加報表服務器站點以支持本地管理。有關詳細信息,請參閱如何在 Windows Vista 和 Windows Server 2008 上為本地管理配置報表服務器。
在 SQL Server 2008 Reporting Services 中存在一個服務組,即 Reporting Services Windows 服務組。可使用該組為與 SQL Server 2008 Reporting Services 一起安裝的所有注冊表項、文件和文件夾創建安全 ACL。此 Windows 組的名稱以 SQLServerReportServerUser$<計算機名>$<實例名> 格式顯示。此組將取代 SQL Server 2005 Reporting Services 中的兩個 Windows 服務組。如果您已將自定義 ACL 與任一 SQL Server 2005 Reporting Services Windows 組相關聯,則需要將這些 ACL 應用于 SQL Server 2008 Reporting Services 中新報表服務器實例的新組。
- 打開瀏覽器,并在 URL 地址中鍵入報表服務器虛擬目錄和報表管理器虛擬目錄,對這些目錄進行測試。有關詳細信息,請參閱如何驗證 Reporting Services 安裝。
- 測試報表,并驗證它們是否包含所需的數據。檢查數據源信息,查看是否仍指定了數據源連接信息。報表服務器在處理和呈現報表時使用 SQL Server 2008 報表對象模型,但是它不將 SQL Server 2000 或 2005 構造替換為新的報表定義語言元素。若要了解有關如何在 SQL Server 2008 報表服務器上運行現有報表的詳細信息,請參閱升級報表。