如何:移轉 Reporting Services 安裝

此主題提供將 SQL Server 2000 或 SQL Server 2005 Reporting Services 部署移轉至新 SQL Server 2008Reporting 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 版本有所限制。如需詳細資訊,請參閱<建立報表伺服器資料庫>。

在開始之前

即使您正在移轉而非升級安裝,請考慮在現有的安裝上執行 Upgrade Advisor,以便協助您識別可能會影響移轉的任何問題。如果您正在移轉尚未安裝或設定的報表伺服器,這個步驟便特別有用。透過執行 Upgrade Advisor,您可以找出新 SQL Server 2008 安裝可能不支援的自訂設定。

此外,您應該注意 SQL Server 2008 中的數項重要變更,因為這些變更將會影響您移轉安裝的方式:

  • IIS 不再是必要元件。如果您要將報表伺服器安裝移轉至新的電腦,就不需要加入 Web 伺服器角色。此外,設定 URL 和驗證的步驟與舊版有所不同,而且診斷和疑難排解問題的技巧與工具也不一樣。

  • 報表伺服器 Web 服務、報表管理員和報表伺服器 Windows 服務都合併在單一報表伺服器服務中。這三個應用程式都在相同的帳戶底下執行。這三個應用程式會從 RSReportServer.config 檔案讀取組態設定,因而讓 RSWebApplication.config 過時。

  • 報表管理員和 SQL Server Management Studio 已重新設計成移除重複的功能。每項工具都支援不同的工作集,因此這些工具無法再互換。

  • SQL Server 2008Reporting Services 不支援 ISAPI 篩選器。如果您使用 ISAPI 篩選器,則必須在移轉之前重新設計報表方案。

  • SQL Server 2008Reporting Services 不支援 IP 位址限制。如果您使用 IP 位址限制,則必須在移轉之前重新設計報表方案,或使用防火牆、路由器或網路位址轉譯 (NAT) 之類的技術來設定受限不得存取報表伺服器的位址。

  • SQL Server 2008Reporting Services 不支援用戶端安全通訊端層 (SSL) 憑證。如果您使用用戶端 SSL 憑證,則必須在移轉之前重新設計報表方案。

  • 如果您使用 Windows 整合式驗證以外的驗證類型,則必須在 RSReportServer.config 檔案中,以受支援的驗證類型更新 <AuthenticationTypes> 元素。受支援的驗證類型為 NTLM、Kerberos、Negotiate 和 Basic。SQL Server 2008Reporting Services 不支援匿名、.NET Passport 和摘要式驗證。

  • 如果您在報表環境中使用自訂的階層式樣式表,則這些樣式表不會移轉。您必須以手動方式移動它們以進行遷移。

如需有關 SQL Server 2008Reporting Services 中變更的詳細資訊,請參閱 Upgrade Advisor 文件集和<新功能 (Reporting Services)>。

備份檔案和資料

安裝 Reporting Services 的新執行個體之前,請務必備份目前安裝中的所有檔案。

1.

<div class="alert">

<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images/ms173570.alert_caution(zh-tw,SQL.100).gif" title="重要注意事項" alt="重要注意事項" class="note" /><strong>重要事項</strong></th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>備份報表伺服器資料庫的加密金鑰。這個步驟對於移轉是否成功很重要。之後在移轉程序中,您必須針對報表伺服器還原此金鑰,以便重新取得加密資料的存取權。若要備份此金鑰,請使用 Reporting Services 組態工具 (如果您要從 SQL Server 2000 移轉,請使用 <strong>rskeymgmt</strong> 公用程式)。</p></td>
</tr>
</tbody>
</table>

</div>
  1. 使用備份 SQL Server 資料庫的任何支援方法來備份報表伺服器資料庫。如需詳細資訊,請參閱<將報表伺服器資料庫移至其他電腦>中有關如何備份報表伺服器資料庫的指示。

  2. 備份報表伺服器組態檔。要備份的檔案包括:

    1. Rsreportserver.config

    2. Rswebapplication.config

    3. Rssvrpolicy.config

    4. Rsmgrpolicy.config

    5. Reportingservicesservice.exe.config

    6. 報表伺服器和報表管理員 ASP.NET 應用程式的 Web.config。

    7. ASP.NET 的 Machine.config (如果您針對報表伺服器作業修改過它的話)。

安裝 SQL Server 2008 Reporting Services

在僅限檔案模式下,安裝新的報表伺服器執行個體,如此您就可以將它設定為使用非預設值。若為命令列安裝,請使用 FilesOnly 引數。在安裝精靈中,請選取 [安裝但不設定] 選項。

按一下下列其中一個連結,即可檢視有關如何安裝新 Reporting Services 執行個體的指示:

移動報表伺服器資料庫

報表伺服器資料庫包含已發行的報表、模型、共用資料來源、排程、資源、訂閱,以及資料夾。此外,它也包含系統和項目屬性,以及存取報表伺服器內容的權限。

如果您的移轉包含使用不同的 Database Engine 執行個體,就必須將報表伺服器資料庫移至新的 Database Engine 執行個體。如果您要使用相同的 Database Engine 執行個體,請跳到「設定報表伺服器」。

若要移動報表伺服器資料庫,請執行下列動作:

  1. 選擇要使用的 Database Engine 執行個體。SQL Server 2008Reporting Services 會要求您使用 SQL Server 2005 或 2008 來主控報表伺服器資料庫。SQL Server 2000 無法再用於主控 SQL Server 2008Reporting Services 的報表伺服器資料庫。如果您使用了 SQL Server 2000 或以 8.0 相容性模式執行的 SQL Server 2005,就必須升級 Database Engine 或選擇其他 Database Engine 執行個體。

  2. 啟動 SQL Server Management Studio 並連接至 Database Engine。

  3. 如果 Database Engine 從未主控過報表伺服器資料庫,請在系統資料庫中建立 RSExecRole。如需詳細資訊,請參閱<如何:建立 RSExecRole>。

  4. 遵循<將報表伺服器資料庫移至其他電腦>中的指示。

請記住,報表伺服器資料庫和暫存資料庫彼此相依,而且必須一起移動。請勿複製資料庫;複製並不會將所有的安全性設定傳送到新的安裝。請勿針對排程的報表伺服器作業移動 SQL Server Agent 作業。報表伺服器會自動重新建立這些作業。

移動自訂組件或延伸模組

如果安裝包含自訂報表項目、組件或延伸模組,您就必須重新部署自訂元件。如果您不要使用自訂元件,請跳到「設定報表伺服器」。

若要重新部署自訂元件,請執行下列動作:

  1. 判斷組件是否受到支援或需要重新編譯:

    • 您必須重新編譯針對 SQL Server 2000 版本所建立的自訂驗證延伸模組。

    • SQL Server 2008Reporting Services 的自訂轉譯延伸模組必須使用轉譯物件模型 (ROM) 重新撰寫。

    • SQL Server 2008Reporting Services 不支援 HTML 3.2 和 HTML OWC 轉譯延伸模組。

    • 其他自訂組件應該不需要重新編譯。

  2. 將組件移至新的報表伺服器和報表管理員 \bin 資料夾。在 SQL Server 2008 中,報表伺服器二進位檔位於預設 SQL Server 2008Reporting Services 執行個體的 \Program files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin 中。

  3. 修改組態檔,以便加入自訂元件的項目。這些項目會因您所使用的組件類型而不同。如需有關放置檔案和加入組態項目之位置的指示,請參閱下列主題:

    1. 部署自訂組件

    2. 如何:部署自訂報表項目

    3. 部署資料處理延伸模組

    4. 部署傳遞延伸模組

    5. 部署轉譯延伸模組

    6. 實作安全性延伸模組

設定報表伺服器

設定報表伺服器 Web 服務和報表管理員的 URL,然後設定報表伺服器資料庫的連接。

如果您正在移轉向外延展部署,請將所有的報表伺服器節點設為離線,然後一次移轉一個伺服器。在移轉第一個報表伺服器且該伺服器成功連接至報表伺服器資料庫之後,報表伺服器資料庫的版本就會自動升級為 SQL Server 2008 資料庫版本。

[!附註]

如果向外延展部署中有任何報表伺服器是在線上且尚未移轉,則這些伺服器可能會遭遇 rsInvalidReportServerDatabase 例外狀況,因為它們在連接至已升級版本時使用的是舊版的結構描述。

[!附註]

如果您所移轉的報表伺服器已設定為向外延展部署的共用資料庫,就必須先從 ReportServer 資料庫的 Keys 資料表中刪除任何舊加密金鑰,然後再設定報表伺服器服務。如果沒有移除這些金鑰,已移轉的報表伺服器將嘗試以向外延展部署模式初始化。如需詳細資訊,請參閱<加入和移除向外延展部署的加密金鑰>和<設定和管理加密金鑰>。

您無法使用 Reporting Services 組態管理員來刪除向外延展金鑰。您必須使用 SQL Server Management Studio,從 ReportServer 資料庫的 Keys 資料表中刪除舊金鑰。請刪除 Keys 資料表中的所有資料列。這樣將會清除資料表並準備讓它只用於還原對稱金鑰,如下列步驟所述。

刪除這些金鑰之前,建議您先備份對稱加密金鑰。您可以使用 Reporting Services 組態管理員來備份此金鑰。請開啟組態管理員、按一下 [加密金鑰] 索引標籤,然後按一下 [備份] 按鈕。您也可以編寫 WMI 命令的指令碼來備份加密金鑰。如需有關 WMI 的詳細資訊,請參閱<BackupEncryptionKey 方法 (WMI MSReportServer_ConfigurationSetting)>。

  1. 啟動 Reporting Services 組態管理員,並連接到您剛才安裝的 Reporting Services 執行個體。 如需詳細資訊,請參閱<如何:啟動 Reporting Services 組態>。

  2. 設定報表伺服器和報表管理員的 URL。如需詳細資訊,請參閱<如何:設定 URL (Reporting Services 組態)>。

  3. 設定報表伺服器資料庫,並且從先前安裝中選取現有的報表伺服器資料庫。在成功設定組態後,報表伺服器服務就會重新啟動,而在建立報表伺服器資料庫的連接之後,資料庫就會自動升級為 SQL Server 2008Reporting Services.如需有關如何執行您用於建立或選取報表伺服器資料庫的「變更資料庫精靈」,請參閱<如何:建立報表伺服器資料庫 (Reporting Services 組態)>。

  4. 還原加密金鑰。若要針對已經在報表伺服器資料庫中之預先存在的連接字串和認證啟用可回復加密,這個步驟就是必要的。如需詳細資訊,請參閱<備份與還原加密金鑰>。

  5. 如果您在新的電腦上安裝報表伺服器,而且正在使用 Windows 防火牆,請確定報表伺服器所接聽的 TCP 通訊埠是開啟的。此通訊埠依預設為 80。如需詳細資訊,請參閱<如何:設定供報表伺服器存取的防火牆>。

  6. 如果您在 Windows Vista 或 Windows Server 2008 上安裝報表伺服器,請建立角色指派,並將報表伺服器網站加入至 [信任的網站],以便支援本機管理。如需詳細資訊,請參閱<如何:在 Windows Vista 和 Windows Server 2008 上設定報表伺服器來進行本機管理>。

將自訂組態設定複製到 RSReportServer.config 檔案

如果您在先前安裝中修改了 RSReportServer.config 檔案或 RSWebApplication.config 檔案,就應該在新的 RSReportServer.config 檔案中進行相同的修改。下列清單將摘要列出一些您可能會修改先前組態檔的原因,並且提供有關如何在 SQL Server 2008 中設定相同設定的其他資訊。

自訂

資訊

含有自訂設定的報表伺服器電子郵件傳遞

如何:為電子郵件傳遞設定報表伺服器 (Reporting Services 組態)

資料處理延伸模組

設定 Reporting Services 中的資料處理延伸模組

裝置資訊設定

在 RSReportServer.Config 中自訂轉譯延伸模組參數

遠端執行個體上的報表管理員

如何:設定報表管理員

Windows 服務群組和安全性 ACL

在 SQL Server 2008Reporting Services 中會使用 Reporting Services Windows 服務群組,針對使用 SQL Server 2008Reporting Services 安裝的所有登錄機碼、檔案和資料夾建立安全性 ACL。這個 Windows 群組名稱會以格式 SQLServerReportServerUser$<computer_name>$<instance_name> 顯示。這個群組會取代 SQL Server 2005Reporting Services 中的兩個 Windows 服務群組。如果您有與其中一個 SQL Server 2005Reporting Services Windows 群組相關聯的自訂 ACL,則需要在 SQL Server 2008Reporting Services 中將這些 ACL 套用至新報表伺服器執行個體的新群組。

驗證您的部署

  1. 開啟瀏覽器並輸入 URL 位址,以測試報表伺服器和「報表管理員」虛擬目錄。如需詳細資訊,請參閱<如何:確認 Reporting Services 的安裝>。

  2. 測試報表,並確認其包含您預期的資料。檢閱資料來源資訊,查看是否仍然有指定資料來源連接資訊。雖然報表伺服器會在處理和轉譯報表時使用 SQL Server 2008 報表物件模型,但是它不會將 SQL Server 2000 或 2005 建構取代成新的報表定義語言元素。若要了解有關現有報表如何在 SQL Server 2008 報表伺服器上執行的詳細資訊,請參閱<升級報表>。

移除未使用的程式和檔案

一旦將報表伺服器成功移轉至 SQL Server 2008Reporting Services 執行個體之後,就可以執行下列步驟,以移除不再需要的程式和檔案。

  1. 如果您不再需要舊版 Reporting Services,請解除安裝它。這個步驟不會刪除下列項目,但如果您不再需要它們,可以用手動方式加以移除:

    • 舊的報表伺服器資料庫

    • RsExec 角色

    • 報表伺服器服務帳戶

    • 報表伺服器 Web 服務的應用程式集區

    • 報表管理員和報表伺服器的虛擬目錄

    • 報表伺服器記錄檔案

  2. 如果您不再需這部電腦上的 IIS,請移除它。

  3. 刪除 RSActivate.exe (只能從 SQL Server 2000 安裝中刪除)。