報表服務器數據庫可以為一個或多個報表服務器實例提供內部存儲。因為報表服務器數據庫架構可能會因為推出新的 Reporting Services 版本而有所變化,所以要求數據庫版本與使用的報表服務器實例的版本相匹配。大多數情況下,報表服務器數據庫可以自動升級,您不需要執行任何具體操作。
如何升級報表服務器數據庫
以下列表指出了升級報表服務器數據庫的所有情況:
安裝程序升級報表服務器的單個實例。在服務啟動並且報表服務器確定數據庫架構版本與服務器版本不匹配之後,將自動升級數據庫架構。
服務啟動時,報表服務器會檢查數據庫架構版本以驗證它是否與服務器版本相匹配。如果數據庫架構版本較低,該架構將自動升級到報表服務器所需的架構版本。如果還原或附加一個較低的報表服務器數據庫,則自動升級功能特別有用。將在報表服務器跟蹤日志文件中輸入一條消息,指示已升級數據庫架構版本。
當選擇舊版本與新報表服務器實例一起使用時,Reporting Services 配置工具將升級本地或遠程報表服務器數據庫。在這種情況下,必須在發生此操作之前確認升級操作。
Reporting Services 配置工具不再提供單獨的升級按鈕或升級腳本。鑒於報表服務器服務的自動升級功能,這些功能在 SQL Server 2008 中已過時。
架構更新後,無法再將升級回滾到以前的版本。請務必備份報表服務器數據庫,以備需要重新創建先前安裝。
如何更新架構、元數據和報表服務器內容
升級報表服務器數據庫需分三個步驟:
◆架構將在安裝並啟動服務之後,或者在 Reporting Services 配置工具中選擇 SQL Server 2005 或 2000 報表服務器數據庫時進行自動升級。此外,報表服務器服務會在啟動時檢查數據庫版本。如果報表服務器連接到早期版本的數據庫,則報表服務器將在啟動過程中更新該數據庫。
◆在更新架構後首次使用報表服務器數據庫時升級安全描述符。
◆首次使用時,升級已發布報表和已編譯報表快照。
除了報表服務器數據庫外,報表服務器還會使用臨時數據庫。升級報表服務器數據庫時,會自動升級臨時數據庫。
升級報表服務器數據庫
如果要升級的 Reporting Services 安裝包含報表服務器數據庫,則可能會在升級數據庫架構時遇到一些問題。默認情況下,安裝程序會使用運行安裝程序的用戶的安全令牌連接到遠程 SQL Server 實例並更新架構。如果擁有對承載報表服務器數據庫的數據庫服務器的 SQL Server sysadmin 權限,將成功升級數據庫。同樣,如果從命令提示符運行安裝程序,並為擁有 sysadmin 權限修改遠程計算機上的架構的帳戶指定 RSUPGRADEDATABASEACCOUNT 和 RSUPGRADEPASSWORD 參數,也將成功升級數據庫。
但是,如果您沒有對遠程計算機上的數據庫的權限,則系統將拒絕連接,並出現以下錯誤:
“安裝程序無法升級報表服務器數據庫架構。必須在安裝完成後手動更新數據庫架構。若要更新架構,請運行 Reporting Services 配置工具,再打開“數據庫安裝”頁,重新選擇數據庫,然後單擊“應用”。數據庫將自動升級。”
此時,報表服務器程序文件將被升級,但報表服務器數據庫將為早期版本的格式。報表服務器將不可用,直到通過手動升級數據庫來完成升級過程為止。
手動升級數據庫
如果安裝程序沒有自動升級報表服務器數據庫,則只能升級部分報表服務器安裝。若要完全升級,必須在安裝完成後運行 Reporting Services 配置工具,手動升級報表服務器數據庫。
運行 Reporting Services 配置工具,並連接到剛升級的報表服務器。有關如何啟動該工具和連接到服務器的詳細信息,請參閱如何啟動 Reporting Services 配置。
打開“數據庫安裝”頁,然後單擊“連接”連接到承載報表服務器數據庫的 SQL Server 實例。
選擇要升級的報表服務器數據庫。
單擊“應用”以升級數據庫架構。完成上述步驟後,就可使用報表服務器了。