移轉 Reporting Services

此主題提供將 SQL Server 2000 Reporting Services 部署移轉到新的 SQL Server 2005 Reporting Services 執行個體的逐步指示。如果您遇到升級封鎖程式,或是有大規模部署或時限需求,或變更安裝的硬體或拓撲時,移轉安裝便非常有用。Reporting Services 的移轉程序包括手動和自動步驟。下列工作為報表伺服器的部分移轉作業:

  • 備份應用程式和組態檔。
  • 安裝 SQL Server 2005 的新執行個體,與現有的 SQL Server 2000 安裝並存。因為 SQL Server 2000 Reporting Services 一律會在預設的 SQL Server 執行個體中執行,因此您安裝的新 SQL Server 2005 執行個體必須設定成具名執行個體。
  • 將報表伺服器資料庫從 SQL Server 2000 安裝移到新的 SQL Server 2005 安裝。如果您要將資料庫移至新的 Database Engine 執行個體,就必須手動建立 RSExecRole。
  • 確認新的執行個體可完全運作之後,解除安裝 SQL Server 2000 Reporting Services。

如果您正在重複使用在先前安裝中所建立的現有報表伺服器資料庫,請注意,用來主控報表伺服器資料庫的 SQL Server 版本有所限制。如需詳細資訊,請參閱<建立報表伺服器資料庫>。

備份檔案和資料

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

  1. 備份報表伺服器資料庫的對稱金鑰。請利用 rskeymgmt 公用程式來執行這項作業。
  2. 使用備份 SQL Server 資料庫的任何支援方法來備份報表伺服器資料庫。如需詳細資訊,請參閱<將報表伺服器資料庫移至其他電腦>中有關如何備份報表伺服器資料庫的指示。
  3. 備份報表伺服器組態檔。要備份的檔案包括:
    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。
  4. 備份報表伺服器虛擬目錄設定。使用 Internet Services Information Manager 來備份設定。
  5. 對於高可用性報表伺服器,請將報表伺服器資料庫設定為唯讀,並在 SQL Server Database Engine 上修改 RSExec 角色,來停止報表伺服器資料庫中的交易。

安裝 SQL Server 2005 Reporting Services

安裝 Reporting Services 和 Service Pack 1

  1. 執行 SQL Server 2005 安裝程式,來安裝 Reporting Services 的新執行個體。

  2. 在 [要安裝的元件] 頁面上,選取 [Reporting Services]。如果要在同一部電腦上安裝新的 Database Engine 執行個體和報表設計師,您也可以選取 [SQL Server Database Services] 以及 [工作站元件、線上叢書和開發工具]。

  3. 在 [執行個體名稱] 中,輸入您正在安裝之 SQL Server 2005 執行個體的新名稱。請勿指定 [預設執行個體]。如果您這樣做,便會就地升級現有安裝,而非建立新的報表伺服器執行個體。

  4. 在 [服務帳戶] 中,指定報表伺服器 Windows 服務的服務帳戶。如需有關服務帳戶的詳細資訊,請參閱<設定 Windows 服務帳戶>。

    您可以選擇性地在安裝程式結束時的 [啟動] 服務中,選取 [SQL Server Agent] (必須執行 SQL Server Agent,才能支援已排程的作業)。

  5. 在 [報表伺服器安裝選項] 中,選取 [安裝但不設定伺服器] 選項。選取這個選項可讓您在安裝完成之後,設定報表伺服器。

  6. 完成安裝。

  7. 如果您正在套用 Service Pack 1,請停止所有 SQL Server 2005 服務 (包括報表伺服器 Windows 服務、SQL Server Agent、SQL Server Browser 以及 SQL Server 全文檢索搜尋)。

  8. 套用 Service Pack 1,然後重新啟動服務。

建立 RSExecRole 和附加報表伺服器資料庫

如果您要將報表伺服器資料庫移至從未設有報表伺服器資料庫的 Database Engine 執行個體,就必須在 Master 和 MSDB 系統資料庫中建立 RSExecRole。此角色必須存在,才能執行資料庫升級指令碼。

如果此角色不存在,而且您嘗試升級資料庫,就會收到下列錯誤:「套用資料庫升級指令碼時發生問題」。

Reporting Services 會使用 SQL Server Agent 服務的擴充預存程序來支援排程的作業。下列步驟說明如何將程序的「執行」權限授與 RSExecRole 角色。

若要使用 Management Studio 在 Master 系統資料庫中建立 RSExecRole

  1. 啟動 SQL Server Management Studio 並連接至主控報表伺服器資料庫的 Database Engine 執行個體。

  2. 開啟 [資料庫]

  3. 開啟 [系統資料庫]

  4. 開啟 [Master]

  5. 開啟 [安全性]

  6. 開啟 [角色]

  7. 以滑鼠右鍵按一下 [資料庫角色],然後選取 [新增資料庫角色]。[一般] 頁面隨即顯示。

  8. [角色名稱] 中,輸入 RSExecRole

  9. [擁有者] 中,輸入 DBO

  10. 按一下 [安全性實體]

  11. 按一下 [加入][加入物件] 對話方塊隨即顯示。系統預設會選取 [指定物件] 選項。

  12. 按一下 [確定]

  13. 按一下 [物件類型]

  14. 按一下 [擴充預存程序]

  15. 按一下 [確定]

  16. 按一下 [瀏覽]

  17. 向下捲動擴充預存程序的清單,然後選取下列項目:

    1. xp_sqlagent_enum_jobs
    2. xp_sqlagent_is_starting
    3. xp_sqlagent_notify
  18. 按一下 [確定],然後再按一下 [確定]

  19. [執行] 資料列的 [授與] 資料行中,按一下核取方塊,然後按一下 [確定]

針對其餘每個預存程序重複上述步驟。RSExecRole 必須被授與這三個預存程序的「執行」權限。

在 MSDB 中建立 RSExecRole

Reporting Services 會使用 SQL Server Agent 服務的預存程序並且從系統資料表中擷取作業資訊,以便支援排程的作業。下列步驟說明如何將程序的「執行」權限和資料表的「選取」權限授與 RSExecRole。

若要在 MSDB 系統資料庫中建立 RSExecRole

  1. 針對在 MSDB 中授與預存程序和資料表的權限重複相同的步驟。為了簡化這些步驟,您將分別提供預存程序和資料表。

  2. 開啟 [MSDB]

  3. 開啟 [安全性]

  4. 開啟 [角色]

  5. 以滑鼠右鍵按一下 [資料庫角色],然後選取 [新增資料庫角色]。[一般] 頁面隨即顯示。

  6. 在 [角色名稱] 中,輸入 RSExecRole

  7. 在 [擁有者] 中,輸入 DBO

  8. 按一下 [安全性實體]

  9. 按一下 [加入][加入物件] 對話方塊隨即顯示。系統預設會選取 [指定物件] 選項。

  10. 按一下 [確定]

  11. 按一下 [物件類型]

  12. 按一下 [預存程序]

  13. 按一下 [確定]

  14. 按一下 [瀏覽]

  15. 向下捲動項目的清單,然後選取下列項目:

    1. sp_add_category
    2. sp_add_job
    3. sp_add_jobschedule
    4. sp_add_jobserver
    5. sp_add_jobstep
    6. sp_delete_job
    7. sp_help_category
    8. sp_help_job
    9. sp_help_jobschedule
    10. sp_verify_job_identifiers
  16. 按一下 [確定],然後再按一下 [確定]

  17. 選取第一個預存程序:sp_add_category。

  18. [執行] 資料列的 [授與] 資料行中,按一下核取方塊,然後按一下 [確定]

  19. 針對其餘每個預存程序重複上述步驟。RSExecRole 必須被授與這十個預存程序的「執行」權限。

  20. 在 [安全性實體] 索引標籤中,再次按一下 [加入][加入物件] 對話方塊隨即顯示。系統預設會選取 [指定物件] 選項。

  21. 按一下 [確定]

  22. 按一下 [物件類型]

  23. 按一下 [資料表]

  24. 按一下 [確定]

  25. 按一下 [瀏覽]

  26. 向下捲動項目的清單,然後選取下列項目:

    1. syscategories
    2. sysjobs
  27. 按一下 [確定],然後再按一下 [確定]

  28. 選取第一個資料表:syscategories。

  29. [選取] 資料列的 [授與] 資料行中,按一下核取方塊,然後按一下 [確定]

針對 sysjobs 資料表重複上述步驟。RSExecRole 必須被授與這兩個預存程序的「選取」權限。

附加報表伺服器資料庫和複製組態檔

將您從 SQL Server 2000 安裝所備份的報表伺服器資料庫,複製或還原至新的執行個體。報表伺服器資料庫和暫存資料庫都是必要的,而且必須一起移動。

請勿複製資料庫;複製並不會將所有的安全性設定傳送到新的安裝。

如果您正在使用新的 SQL Server 2005 Database Engine 執行個體,則可以使用 SQL Server Management Studio 附加或還原資料庫。

附加資料庫和複製檔案

  1. 您可以使用<將報表伺服器資料庫移至其他電腦>中的指示來附加或移動資料庫。如果您正在使用 SQL Server 2000 來主控報表伺服器資料庫,請為新安裝建立一個資料庫副本。

  2. 將用於 SQL Server 2000 安裝之 reportserver.config 的設定複製到新 SQL Server 2005 安裝的 rsreportserver.config 檔案:

    1. 複製 InstallationID 項目。如果您要避免在報表伺服器資料庫的索引鍵資料表中,擁有兩個未使用的項目,則必須複製安裝識別碼。這兩個未使用的資料列是 SQL Server 2000 執行個體的安裝識別碼。未使用的資料列是不完整的。每個資料列都遺漏了 [電腦名稱] 和 [執行個體名稱]。SQL Server 2000 執行個體都沒有定義 [電腦名稱] 和 [執行個體名稱],因此,在升級報表伺服器資料庫之後,索引鍵資料表中沒有那些資料行的值。請注意,如果某個項目遺漏了電腦名稱或執行個體名稱,便無法在 Reporting Services 組態工具中刪除它。然而,您可以編輯索引鍵資料表來移除資料列,或新增遺漏的電腦名稱或執行個體名稱。您也可以在資料表中保留任何未使用的項目;未使用的項目對報表伺服器作業沒有任何影響。
    2. 複製您要在新安裝中使用的任何其他自訂設定。如果您正在使用安裝中的自訂延伸模組,您可能需要先重新編譯該延伸模組,才能使用它們。如需詳細資訊,請參閱 Upgrade Advisor 產品文件集。
  3. 如果您有自訂追蹤設定,請將這些項目複製到新安裝的 Web.config 或 Machine.config 檔案。

設定報表伺服器

設定報表伺服器設定。

  1. 啟動 Reporting Services 組態工具,並連接到您剛安裝的 SQL Server 2005 Reporting Services 執行個體。

  2. 為報表伺服器和報表管理員建立虛擬目錄。虛擬目錄名稱必須是唯一的,因此,如果您在 SQL Server 2000 Reporting Services 安裝中使用預設名稱,您必須為 SQL Server 2005 安裝選擇非預設名稱。

    當您建立「報表伺服器」虛擬目錄時,應該會自動設定 Web 服務識別。如果未正確設定,您可以建立新的應用程式集區來執行服務。

    報表伺服器 Windows 服務應該在安裝期間自動設定。如果您要在不同的帳戶下執行服務,您現在便可進行修改。如需有關服務帳戶的詳細資訊,請參閱《SQL Server 線上叢書》中的<設定 Windows 服務帳戶>和<Reporting Services 部署中的連接和帳戶>。

  3. 在 [伺服器狀態] 頁面上,按一下 [停止] 以停止報表伺服器 Windows 服務。這個步驟非常重要。如果您沒有停止服務,資料庫升級作業可能會在完全更新結構描述之前發生逾時,使資料庫停留在中繼狀態。

  4. 在 [資料庫安裝] 頁面上的 [伺服器名稱] 中,選取主控您要升級之報表伺服器資料庫的 SQL Server 執行個體,然後按一下 [連接]

  5. 選擇您要用於 SQL Server 2005 安裝的報表伺服器資料庫。

  6. 按一下 [升級]。報表伺服器資料庫和暫存資料庫都會升級成新的結構描述。套用資料庫升級指令碼時發生問題。

  7. 指定用來將報表伺服器連接到報表伺服器資料庫的帳戶。

  8. 在 [加密金鑰] 頁面中,還原用來加密及解密報表伺服器資料庫內容的金鑰。這是您在本主題之「備份檔案及資料」一節中的步驟 1,所備份的加密金鑰。

  9. 開啟瀏覽器並輸入 URL 位址,以測試報表伺服器和「報表管理員」虛擬目錄。您為該執行個體所指定的 URL 和資料庫連接資訊,必須包含執行個體名稱。

  10. 測試報表,並確認其包含您預期的資料。檢閱資料來源資訊,查看是否仍然有指定資料來源連接資訊。

  11. 解除安裝 SQL Server 2000 Reporting Services。

  12. 將虛擬目錄重新命名為舊版安裝所使用的名稱。如果您使用了自訂虛擬目錄設定,請更新您建立來使用新值的虛擬目錄。

請參閱

概念

升級 Reporting Services

其他資源

報表伺服器資料庫
Reporting Services 回溯相容性
Reporting Services 組態工具

說明及資訊

取得 SQL Server 2005 協助