次の方法で共有


スクリプトの展開と管理タスク

Reporting Services は、スクリプトを使用した日常的なインストール、配置、および管理タスクの自動化をサポートします。 レポート サーバーの配置は複数の段階を伴うプロセスです。 デプロイを構成するには、いくつかのツールとプロセスを使用する必要があります。すべてのタスクを自動化するために使用できる単一のプログラムやアプローチはありません。

すべての手順を自動化することが必ずしも有効な手段ではありません。 場合によっては、手作業またはグラフィカルなツールで作業することが、最も効率的かつシンプルな手段になる場合もあります。 たとえば、多数のレポートとモデルを配置する場合は、レポート サーバー環境を再作成するコードを記述するのではなく、レポート サーバー データベースをコピーすることをお勧めします。

中には、カスタム コードを必要とする手順もあります。 たとえば、Web サービスとレポート マネージャーの URL の構成は自動化できますが、そのためには、レポート サーバーの Windows Management Instrumentation (WMI) プロバイダーを呼び出すカスタム コードを作成しなければなりません。 コードを記述しない場合は、Reporting Services 構成ツールを使用して手順を実行する必要があります。

レポート サーバーを構成するスクリプトを実行するには、構成するコンピューターのローカル管理者である必要があります。 詳細については、「 リモート管理用のレポート サーバーの構成」を参照してください。

このトピックでは、特定の手順を自動化するための推奨される方法について説明します。 いくつかのプログラムとプログラムインターフェイスが記載されています。それぞれの説明については、このトピックの後半で説明します。

デプロイ タスクとその自動化方法

次の表は、レポート サーバーを配置するために必要なインストール タスクおよび構成タスクをまとめたものです。 特定のタスクと、それを自動化するためのアプローチがひとめでわかるように記載されています。

課題 方法
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 ユーティリティを実行してキーをバックアップします。 詳細については、「 Back Up and Restore Reporting Services Encryption Keys」を参照してください。

レポート サーバー WMI プロバイダーに対して実行されるカスタム コードを記述します。
レポート サーバーの電子メールを構成する。 Reporting Services WMI プロバイダーに対して実行するカスタム コードを作成します。 プロバイダーでは、電子メールの構成設定のサブセットがサポートされています。

RSReportServer.config ファイルにはすべての設定が含まれていますが、自動でファイルを使用しないでください。 具体的には、バッチ ファイルを使用して別のレポート サーバーにファイルをコピーしないでください。 各構成ファイルには、現在のインスタンスに固有の値が含まれています。 これらの値は、他のレポート サーバー インスタンスでは有効ではありません。

設定の詳細については、「 電子メール配信用のレポート サーバーの構成 (SSRS 構成マネージャー)」を参照してください。
自動実行アカウントを構成する。 自動実行アカウントの構成を自動化するには、次のいずれかのアプローチを使用します。

rsconfig.exe ユーティリティを実行してアカウントを構成します。 詳細については、「 自動実行アカウントの構成 (SSRS 構成マネージャー)」を参照してください。

レポート サーバー WMI プロバイダーを呼び出すカスタム コードを記述します。
既存のコンテンツを別のレポート サーバー上に配置する (フォルダー階層、ロールの割り当て、レポート、サブスクリプション、スケジュール、データ ソース、リソースなど)。 既存のレポート サーバー環境を再構築する最善の方法は、レポート サーバー データベースを新しいレポート サーバー インスタンスにコピーすることです。

カスタム コードを作成して、既存のレポート サーバーのコンテンツをプログラムによって再構築する方法もあります。 ただし、サブスクリプション、レポート スナップショット、およびレポート履歴はプログラムで再作成できないことに注意してください。

一部の展開では、両方の手法を組み合わせて使用することでメリットが得られます (つまり、レポート サーバー データベースを復元してから、特定のインストール用にレポート サーバー データベースを変更するカスタム コードを実行します)。

詳細な例については、「 レポート サーバー間でコンテンツを移行するためのサンプル Reporting Services rs.exe スクリプト」を参照してください

レポート サーバー データベースの再配置の詳細については、「レポート サーバー データベース を別のコンピューターに移動する (SSRS ネイティブ モード)」を参照してください。 プログラムによるレポート サーバー環境の作成の詳細については、このトピックの「スクリプトを使用してレポート サーバーのコンテンツとフォルダーを移行する」セクションを参照してください。

サーバー展開を自動化するためのツールとテクノロジ

配置タスクとメンテナンス タスクを自動化するためのプログラムおよびインターフェイスを次に示します。

  • セットアップ プログラムを自動モードで実行して、レポート サーバー コンポーネントのインストールから、場合によっては構成までを行うことができます。 ファイルのみのインストール オプションを使用して、セットアップ時にレポート サーバー インスタンスが構成されるようにする必要があります。

  • ローカル サーバーとリモート サーバーの構成には、 Reporting Services WMI プロバイダーおよび Reporting Services のコマンド ライン ユーティリティを使用できます。

    Reporting Services WMI プロバイダーは、サービス アカウントの指定、URL の構成、レポート サーバー データベースの作成と構成、電子メール配信用のレポート サーバーの構成など、Reporting Services インストールのすべての側面を構成できるクラス、プロパティ、メソッドを公開します。 WMI プロバイダーを使用するには、カスタム コードまたはスクリプトを作成する必要があります。 詳細については、「 Reporting Service WMI プロバイダーへのアクセス」を参照してください。

    コードを作成する代わりに、コマンド ライン ユーティリティ (rsconfig.exe および rskeymgmt.exe) を使用することもできます。 これらのユーティリティを実行するバッチ ファイルを作成できます。 構成タスクの一部は、これらのユーティリティを使って自動化できます。

  • レポート サーバー スクリプト ホスト ツール (rs.exe) では、既存のコンテンツを作成し直したり、既存のコンテンツを別のレポート サーバーに移動したりするために記述できるカスタム Microsoft Visual Basic コードを実行できます。 この方法では、Visual Basic でスクリプトを記述し、.rss ファイルとして保存し、rs.exe を使用してターゲット レポート サーバーでスクリプトを実行します。 作成したスクリプトは、レポート サーバー Web サービスに対して SOAP インターフェイスを呼び出すことができます。 配置スクリプトは、レポート サーバー フォルダーの名前空間および内容の再作成や、ロールベースのセキュリティの再作成を可能にするため、このアプローチで作成します。

  • SQL Server 2014 リリースでは、SharePoint 統合モード用の PowerShell コマンドレットが導入されました。 PowerShell を使用して、SharePoint 統合を構成および管理することができます。 詳細については、「 Reporting Services SharePoint モード用の PowerShell コマンドレット」をご覧ください。

スクリプトを使用したレポート サーバー コンテンツとフォルダーの移行

レポート サーバー環境を別のレポート サーバー インスタンスに複製するためのスクリプトを作成できます。 配置スクリプトは通常、Visual Basic で記述され、レポート サーバー スクリプト ホスト ユーティリティを使用して処理されます。

詳細な例については、「 レポート サーバー間でコンテンツを移行するためのサンプル Reporting Services rs.exe スクリプト」を参照してください

スクリプトを使用して、フォルダー、共有データ ソース、リソース、レポート、ロールの割り当て、および設定を、あるサーバーから別のサーバーにコピーします。 1 つのレポート サーバー インスタンス用のスクリプトを作成してから、そのスクリプトを別のサーバーで実行して、レポート サーバー名前空間を再作成します。 Reporting Services で、複数のレポート サーバーを配置している場合は、各サーバーで個別にスクリプトを実行して、すべてのサーバーを同様に構成できます。

次の一覧で、あるサーバーから別のサーバーにレポートを移行する手順を示します。

  1. スクリプト変数を移行元レポート サーバーの URL に設定します。

  2. GetItemDefinition メソッドおよび GetProperties メソッドを使用して、レポートのレポート定義およびプロパティを取得します。

  3. 移行先サーバーを指すように URL を設定します。

  4. CreateCatalogItem メソッドを使用し、GetProperties から返されたプロパティと GetItemDefinition から返されたレポート定義を渡します。

get メソッドと create メソッドを組み合わせて使用することで、設定、フォルダー、共有データ ソース、およびリソースの移行と同様の手順を実行できます。 使用できるメソッドの詳細については、「 テクニカル リファレンス (SSRS)」を参照してください。

スクリプトは、資格情報を明示的に設定しない限り、スクリプトを実行しているユーザーの Microsoft Windows 資格情報を使用して実行されます。

スクリプト ファイルの書式設定と実行方法の詳細については、「 rs.exe ユーティリティと Web サービスを使用したスクリプト」を参照してください。

スクリプトを使用したサーバー プロパティの設定

レポート サーバーのシステム プロパティを設定するスクリプトを作成できます。 次の Visual Basic .NET スクリプトは、プロパティを設定する 1 つの方法を示しています。 この例では、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)
Reporting Services ツール