共用方式為


管理報表伺服器資料庫

Reporting Services 部署會使用兩個 SQL Server 關聯式資料庫供內部儲存之用。 根據預設,資料庫會命名為 ReportServer 和 ReportServerTempdb。 ReportServerTempdb 是由主要報表伺服器資料庫所建立,用於儲存暫存資料、工作階段資訊和快取報表。

在 Reporting Services 中,資料庫管理工作包含備份與還原報表伺服器資料庫,以及管理用於將敏感性資料加密與解密的加密金鑰。

為了管理報表伺服器資料庫,SQL Server 提供許多工具。

  • 若要備份或還原報表伺服器資料庫、移動報表伺服器資料庫,或復原1表伺服器資料庫,您可以使用 SQL Server Management Studio、Transact-SQL 命令或資料庫命令提示字元公用程式。 如需指示,請參閱《SQL Server 線上叢書》中的<將報表伺服器資料庫移至其他電腦>。

  • 若要將現有的資料庫內容複製到其他報表伺服器資料庫,您可以附加報表伺服器資料庫的複本,並將這個複本與不同的報表伺服器執行個體一起使用。 或者,您也可以建立並執行使用 SOAP 呼叫的指令碼,在新的資料庫中重新建立報表伺服器內容。 您可以使用 rs 公用程式執行指令碼。

  • 若要管理報表伺服器和報表伺服器資料庫之間的連接,以及找出特定報表伺服器執行個體所使用的資料庫,您可以使用 Reporting Services 組態工具中的 [資料庫安裝] 頁面。 若要深入了解有關報表伺服器資料庫之報表伺服器連接的詳細資訊,請參閱<設定報表伺服器資料庫連接 (原生模式)>。

SQL Server 登入和資料庫的權限

報表伺服器資料庫可供報表伺服器在內部使用。 任何一個資料庫的連接都是由報表伺服器服務所建立的。 您可以使用 Reporting Services 組態工具來設定報表伺服器資料庫的報表伺服器連接。

資料庫之報表伺服器連接的認證可以是服務帳戶、Windows 本機或網域使用者帳戶,或 SQL Server 資料庫使用者。 您必須針對連接選擇現有的帳戶。Reporting Services 不會自動為您建立帳戶。

系統會針對您指定的帳戶自動建立報表伺服器資料庫的 SQL Server 登入。

此外,系統也會自動設定資料庫的權限。 Reporting Services 組態工具會將帳戶或資料庫使用者指派至報表伺服器資料庫的 Public 和 RSExecRole 角色。 RSExecRole 提供用來存取資料庫資料表及執行預存程序的權限。 當您建立報表伺服器資料庫時,系統會在 master 和 msdb 中建立 RSExecRole。 RSExecRole 是報表伺服器資料庫之 db_owner 角色的成員,可讓報表伺服器在支援自動升級程序的情況下更新自己的結構描述。

報表伺服器資料庫的命名慣例

建立主要資料庫時,資料庫的名稱必須遵照<資料庫識別碼>中的規則。 暫存資料庫名稱必須與主要報表伺服器資料庫的名稱相同,但要加上 Tempdb 後置詞。 您不能將暫存資料庫命名為不同的名稱。

不支援重新命名報表伺服器資料庫,因為報表伺服器資料庫是被視為內部元件, 如果重新命名報表伺服器資料庫將會發生錯誤。 特別是,如果重新命名主要資料庫,將會出現錯誤訊息,說明資料庫名稱未同步。 如果您重新命名 ReportServerTempdb 資料庫,稍後執行報表時就會發生下列內部錯誤:

「報表伺服器發生內部錯誤。 請參閱錯誤記錄以取得更多詳細資料。 (rsInternalError)

無效的物件名稱 'ReportServerTempDB.dbo.PersistedStream'。」

發生這個錯誤是因為 ReportServerTempdb 名稱是儲存於內部,以供預存程序執行內部作業之用, 如果重新命名此暫存資料庫將會造成預存程序無法正常運作。

在報表伺服器資料庫上啟用快照集隔離

您無法在報表伺服器資料庫上啟用快照集隔離。 如果快照集隔離已開啟,您將會遇到下列錯誤:「選取的報表還無法檢視。 報表仍在轉譯中,或報表快照集無法使用」。

如果您並未刻意啟用快照集隔離,表示可能有另一個應用程式已經設定此屬性,或者 model 資料庫可能啟用了快照集隔離,因而導致所有新資料庫都繼承此設定。

若要在報表伺服器上關閉快照集隔離,請啟動 Management Studio、開啟新的查詢視窗、貼上下列指令碼,然後執行:

ALTER DATABASE ReportServer
SET ALLOW_SNAPSHOT_ISOLATION OFF
ALTER DATABASE ReportServerTempdb
SET ALLOW_SNAPSHOT_ISOLATION OFF
ALTER DATABASE ReportServer
SET READ_COMMITTED_SNAPSHOT OFF
ALTER DATABASE ReportServerTempDb
SET READ_COMMITTED_SNAPSHOT OFF

關於資料庫版本

在 Reporting Services 中,沒有提供有關資料庫版本的明確資訊。 不過,因為資料庫版本一律與產品版本同步,所以您可以使用產品版本資訊,得知資料庫版本變更的時間。 您可以透過記錄檔、所有 SOAP 呼叫的標頭,以及當您連接到報表伺服器 URL 時 (例如,當您開啟瀏覽器到 https://localhost/reportserver 時) 出現的檔案版本資訊,得知 Reporting Services 的產品版本資訊。

請參閱

工作

建立原生模式報表伺服器資料庫 (Reporting Services)

概念

設定報表伺服器服務帳戶

設定報表伺服器資料庫連接 (原生模式)

建立報表伺服器資料庫

Reporting Services 的備份與還原作業

報表伺服器資料庫

Reporting Services 報表伺服器 (原生模式)

儲存加密的報表伺服器資料

設定和管理加密金鑰

其他資源

啟動 Reporting Services 組態管理員