共用方式為


腳本部署和管理任務

Reporting Services 支援使用腳本將例行安裝、部署及系統管理工作自動化。 部署報表伺服器是多步驟過程。 您必須使用數個工具和程序來設定部署;沒有任何單一程式或方法可用來自動執行所有工作。

並非所有步驟都應該自動化。 在某些情況下,手動或透過圖形化工具執行步驟是最簡單且最有效的方法。 例如,如果您想要部署大量的報表和模型,最好複製報表伺服器資料庫,而不是撰寫重新建立報表伺服器環境的程序代碼。

某些步驟需要自定義程序代碼。 例如,您可以自動化設定 Web 服務和報表管理員的 URL,但前提是您撰寫自定義程式碼來呼叫報表伺服器 Windows Management Instrumentation (WMI) 提供者。 如果您不想撰寫程式代碼,您必須使用 Reporting Services 組態工具來執行步驟。

若要執行設定報表伺服器的腳本,您必須是所設定計算機上的本機系統管理員。 如需詳細資訊,請參閱 設定報表伺服器進行遠端管理

本主題描述自動化特定步驟的建議方法。 提及數個程式和程序設計介面;本主題稍後會提供每個描述。

部署工作和如何將其自動化

下表摘要說明部署報表伺服器所需的安裝和設定工作。 您可以使用資料表將特定工作與讓您能自動或無需人為介入執行該工作的方式進行比對。

任務 方法
安裝報告服務。 您可以從命令行執行安裝程式,以執行自動安裝。

您可以使用安裝程式來安裝和設定報表伺服器,但只有在您指定預設組態選項,而且您的系統符合此安裝類型的所有需求時。 如果您無法安裝預設組態,則必須執行僅限檔案的安裝。
設定服務帳戶。 服務帳戶一開始會透過安裝程序進行設定。 若要將服務帳戶的變更自動化作為安裝後的任務,您必須撰寫自定義程式碼來呼叫報表伺服器 WMI 提供者。 沒有以程式設計方式設定服務帳戶的命令提示字元公用程式或腳本範本。

如果程式代碼撰寫需求無法自動執行此步驟,您可以執行 Reporting Services 組態工具,輕鬆地手動設定帳戶。 如需詳細資訊,請參閱設定服務帳戶(SSRS 組態管理員)。
設定報表伺服器 Web 服務和報表管理員 URL。 您必須撰寫自定義程式碼,以呼叫報表伺服器 WMI 提供者。 沒有用於設定 URL 的命令行公用程式或腳本範本範本。

如果您想要避免撰寫程式代碼,您可以執行 Reporting Services 組態工具手動設定 URL。 如需詳細資訊,請參閱設定 URL (SSRS 組態管理員)。
建立報表伺服器資料庫。 您必須撰寫自定義程式碼,以呼叫報表伺服器 WMI 提供者。 沒有命令提示字元公用程式或腳本範本可建立報表伺服器資料庫和 RSExecRole。

如果您想要避免撰寫程式代碼,您可以執行 Reporting Services 組態工具手動建立資料庫。 如需詳細資訊,請參閱建立原生模式報表伺服器資料庫(SSRS 組態管理員)。
設定報表伺服器資料庫連接。 如果您要變更連接字串、帳戶或密碼或驗證類型,請執行 rsconfig 公用程式來設定連線。 如需詳細資訊,請參閱設定報表伺服器資料庫連接 (SSRS 組態管理員)rsconfig 公用程式 (SSRS)。

您無法使用 rsconfig.exe 來建立或升級資料庫。 資料庫和 RSExecRole 必須已經存在。
設定向外延展部署。 從下列方法中選擇,以自動化向外延展部署:

執行 rskeymgmt.exe 公用程式,將報表伺服器實例加入現有的安裝。 如需詳細資訊,請參閱新增和移除 Scale-Out 部署的加密密鑰(SSRS 組態管理員)。

撰寫針對報表伺服器 WMI 提供者執行的自定義程式代碼。
備份加密金鑰。 從下列方法來選擇將加密金鑰備份自動化:

執行 rskeymgmt.exe 公用程式來備份金鑰。 如需詳細資訊,請參閱 備份與還原 Reporting Services 加密金鑰

撰寫針對報表伺服器 WMI 提供者執行的自定義程式代碼。
設定報表伺服器電子郵件。 撰寫針對 Reporting Services WMI 提供者執行的自定義程式代碼。 提供者支援電子郵件組態設定的子集。

雖然 RSReportServer.config 檔案包含所有設定,但請勿以自動化方式使用檔案。 具體而言,請勿使用批處理檔將檔案複製到另一部報表伺服器。 每個組態檔都包含目前實例特有的值。 這些值在其他報表伺服器實例上無效。

如需設定的詳細資訊,請參閱設定報表伺服器以進行電子郵件傳遞 (SSRS 組態管理員)。
設定無人值守執行帳戶。 選擇下列方法之一以自動化無人值守處理帳戶設定:

執行 rsconfig.exe 公用程式來設定帳戶。 如需詳細資訊,請參閱設定自動執行帳戶(SSRS 組態管理員)。

撰寫自定義程式代碼,以呼叫報表伺服器 WMI 提供者。
在另一部報表伺服器上部署現有的內容,包括資料夾階層、角色指派、報表、訂閱、排程、數據源和資源。 重新建立現有報表伺服器環境的最佳方式是將報表伺服器資料庫複製到新的報表伺服器實例。

替代方法是撰寫自定義程式碼,以程式設計方式重新建立現有的報表伺服器內容。 不過,請注意,訂閱、報表快照集和報表記錄無法以程序設計方式重新建立。

某些部署可以受益於同時使用這兩種技術(也就是還原報表伺服器資料庫,然後執行自定義程式代碼來修改報表伺服器資料庫以進行特定安裝)。

如需詳細範例,請參閱 範例 Reporting Services rs.exe 腳本,以在報表伺服器之間移轉內容

如需重新放置報表伺服器資料庫的詳細資訊,請參閱將報表伺服器資料庫移至另一部計算機(SSRS 原生模式)。 如需以程式設計方式建立報表 Server 環境的詳細資訊,請參閱本主題中的〈使用腳本遷移報表 Server 內容與資料夾〉一節。

自動化伺服器部署的工具和技術

下列清單摘要說明可用來自動化部署和維護工作的程式和介面:

  • 安裝程式可以在無人值守模式中執行,以安裝並有時配置報表伺服器元件。 您必須使用 Files-Only 安裝選項,才能讓安裝程序設定報表伺服器實例。

  • Reporting Services WMI 提供者和 Reporting Services 指令列工具可用於本機與遠端伺服器設定。

    Reporting Services WMI 提供者會公開類別、屬性和方法,讓您設定 Reporting Services 安裝的所有層面,包括指定服務帳戶、設定 URL、建立及設定報表伺服器資料庫,或設定報表伺服器以進行電子郵件傳遞。 您必須撰寫自定義程式碼或腳本,才能使用WMI提供者。 如需詳細資訊,請參閱 存取 Reporting Services WMI 提供程式

    撰寫程式代碼的替代方法是使用命令行公用程式 (rsconfig.exe 和 rskeymgmt.exe)。 您可以撰寫執行公用程式的批次處理檔。 您可以使用公用程式將部分但並非所有組態工作自動化。

  • 報表伺服器文本主機工具 (rs.exe) 可以執行自定義Microsoft Visual Basic 程式代碼,您可以撰寫這些程式碼,以重新建立或將現有內容從某個報表伺服器移至另一部報表伺服器。 使用此方法時,您會在 Visual Basic 撰寫腳本、將其儲存為.rss檔案,並使用 rs.exe 在目標報表伺服器上執行腳本。 您撰寫的文稿可以呼叫報表伺服器 Web 服務的 SOAP 介面。 部署文稿是使用此方法撰寫,因為它可讓您重新建立報表伺服器資料夾命名空間和內容,以及重新建立角色型安全性。

  • SQL Server 2014 版本引進了適用於 SharePoint 整合模式的 PowerShell Cmdlet。 您可以使用 PowerShell 來設定和管理 SharePoint 整合。 如需詳細資訊,請參閱 Reporting Services SharePoint 模式的 PowerShell Cmdlet

使用指令碼來移轉報表伺服器的內容和資料夾

您可以在另一個報表伺服器實例上撰寫複製報表伺服器環境的腳本。 部署腳本通常會以 Visual Basic 撰寫,然後使用報表伺服器腳本主機公用程式進行處理。

如需詳細範例,請參閱 範例 Reporting Services rs.exe 腳本,以在報表伺服器之間移轉內容

使用文稿,將資料夾、共用資料源、資源、報表、角色指派,以及設定從一部伺服器複製到另一部伺服器。 您可以撰寫一個報表伺服器實例的腳本,然後在另一部伺服器上執行腳本,以重新建立報表伺服器命名空間。 如果您的 Reporting Services 部署中有多個報表伺服器,您可以個別在每個伺服器上執行腳本,以相同方式設定所有伺服器。

下列清單說明將報表從一部伺服器移轉至另一部伺服器的步驟。

  1. 將您的腳本變數設定為來源報表伺服器的URL。

  2. GetItemDefinition使用和 GetProperties 方法來擷取報表定義和報表的屬性。

  3. 將 URL 設定為指向目的地伺服器。

  4. 使用 CreateCatalogItem 方法,傳遞從 GetProperties 傳回的屬性,以及 傳回的 GetItemDefinition報表定義。

藉由使用 get 和 create 方法的組合,您可以執行類似的步驟來移轉設定、資料夾、共用數據源和資源。 如需可用方法的詳細資訊,請參閱 技術參考 (SSRS)

備註

除非明確設定認證,否則腳本會在執行腳本的使用者Microsoft Windows 認證下執行。

如需如何格式化和執行腳本檔案的詳細資訊,請參閱 使用 rs.exe 公用程式和 Web 服務編寫腳本

使用文稿設定伺服器屬性

您可以撰寫文本,以在報表伺服器上設定系統屬性。 下列 Visual Basic .NET 腳本顯示設定屬性的一種方式。 此範例會停用 RSClientPrint ActiveX 控制件,但您可以使用任何有效的屬性名稱和值來取代 EnableClientPrintingFalse 。 若要檢視伺服器屬性的完整清單,請參閱 報表伺服器系統屬性

若要使用文稿,請將它儲存至擴展名為 .rss 的檔案,然後使用 rs.exe 命令提示字元公用程式在報表伺服器上執行檔案。 腳本未編譯,因此不需要安裝 Visual Basic。 此範例假設您在裝載報表伺服器的本機電腦上具有許可權。 如果您未以具有許可權的帳戶登入,您必須透過其他命令行自變數來指定帳戶資訊。 如需詳細資訊,請參閱 RS.exe 公用程式 (SSRS)

Public Sub Main()  
        Dim props(0) As [Property]  
        Dim setProp As New [Property]  
        setProp.Name = "EnableClientPrinting"  
        setProp.Value = "False"   
        props(0) = setProp  
        Try  
            rs.SetSystemProperties(props)  
        Catch ex As System.Web.Services.Protocols.SoapException  
            Console.Write(ex.Detail.InnerXml)  
        Catch e as Exception  
            Console.Write(e.Message)  
        End Try  
End Sub  

另請參閱

GenerateDatabaseCreationScript 方法(WMI MSReportServer_ConfigurationSetting)
GenerateDatabaseRightsScript 方法 (WMI MSReportServer_ConfigurationSetting)
GenerateDatabaseUpgradeScript 方法 (WMI MSReportServer_ConfigurationSetting)
從命令提示字元安裝 SQL Server 2014
安裝 Reporting Services 原生模式報表伺服器
Reporting Services 報表伺服器 (原生模式)
報表伺服器命令提示字元公用程式 (SSRS)
規劃 Reporting Services 和 Power View 瀏覽器支援 (Reporting Services 2014)
報表服務工具