次の方法で共有


Management Studio におけるカスタム レポート

SQL Server Management Studio では、Microsoft で作成された一連の標準レポートが多数のオブジェクト エクスプローラ ノードに表示されます。これらのレポートは、要求されることの多いサーバー情報を要約表示できるように設計されています。SQL Server 2005 Service Pack 2 以降は、Business Intelligence Development Studio で作成されたカスタム レポートを Management Studio から実行できるようになりました。

実装

カスタム レポートはレポート定義言語 (RDL) を使用して作成し、レポート定義 (.rdl) ファイルとして保存します。RDL には、レポートのデータ取得情報とレイアウト情報が XML 形式で含まれています。RDL はオープン スキーマです。開発者は、属性や要素を追加して RDL を拡張することができます。レポートは、任意の有効な Transact-SQL ステートメントをレポート内で実行できます。

オブジェクト エクスプローラがサーバーに接続されている場合、オブジェクト エクスプローラで現在選択されている内容のコンテキストでカスタム レポートを実行できます (ただし、そのノードのレポート パラメータがレポートで参照されている必要があります)。これにより、現在のデータベースなど現在のコンテキストをレポートで使用することができます。あるいは、カスタム レポートに含まれている Transact-SQL ステートメントに特定のデータベースを使用するなどの形態で、一貫したコンテキストをレポートで使用することもできます。

カスタム レポートの実行

Management Studio では次の方法でカスタム レポートを実行できます。

  • オブジェクト エクスプローラでノードを右クリックし、[レポート] をポイントして、[カスタム レポート] をクリックします。[ファイルを開く] ダイアログ ボックスで .rdl ファイルを含むフォルダに移動し、適切なレポート ファイルを開きます。

  • オブジェクト エクスプローラでノードを右クリックして、[レポート] をポイントし、[カスタム レポート] をクリックした後、最近使用したファイル一覧からカスタム レポートを選択します。

制限事項

カスタム レポートを操作する場合は、次の制限事項に注意してください。

  • 悪意あるコードが誤って実行されないようにするために、ファイル システムで .rdl ファイルが Management Studio に関連付けられていても、Management Studio でレポートの自動実行を構成できないようになっています。レポートは、Management Studio でプログラムから実行することも、Management Studio のコマンド ラインから実行することもできません。

  • カスタム レポートは、意図した値が生成されないコンテキストでも実行できます。たとえば、レプリケーションに関係のないデータベースのコンテキストでレプリケーションに関するレポートを実行することも、正確なレポートの生成に必要な情報にアクセスする権限のないユーザーとしてレポートを実行することもできます。レポートの構造およびコンテキストの妥当性については、カスタム レポートの作成者が注意する必要があります。

  • カスタム レポートを標準レポートの一覧に追加することはできません。

  • レポートでのコード処理が、サーバーのパフォーマンスに影響することがあります。

  • カスタム レポートではサブレポートがサポートされません。

  • レポート内の各クエリのコマンド テキストを式で定義しないでください。

  • コマンド (クエリ) で使用されるクエリ パラメータでは、1 つのレポート パラメータのみを参照でき、式演算子は使用できません。

  • レポート コマンド (クエリ) でサポートされるコマンドの種類は、テキストとストアド プロシージャのみです。

  • レポート フレームワークには、クエリのパラメータ エスケープ機能がありません。クエリの作成者は、クエリが SQL インジェクション攻撃を受けないことを確認する必要があります。

カスタム レポートの管理

カスタム レポートが多数ある場合は、適切な NTFS ファイル システム権限を持つファイル システム フォルダを使用してカスタム レポートを整理することをお勧めします。

権限

カスタム レポートは、現在のユーザーの権限を使用して実行されます。レポートで実行されるクエリが悪意あるユーザーによって変更されないようにするために、レポート ファイルが格納されるファイル システム フォルダに権限を設定してアクセスを制限する必要があります。

SQL Server サービスによって使用されるユーザーとアカウントの両方に、レポート ファイルが格納されるファイル システム フォルダへの読み取りアクセスが必要です。

レポートには任意の有効な .NET Framework コマンドを埋め込むことができますが、そのコマンドは実行されません。

注記注意

レポートには任意の有効な Transact-SQL ステートメントを埋め込み、レポートから実行することができます。高い特権を持つユーザー アカウントでレポートを実行すると、このように埋め込まれた命令を容易に実行できるようになります。

サンプル レポート

サンプル レポート (Microsoft で作成された標準レポートを含む) をダウンロードできます。サンプルは Business Intelligence Development Studio を使用して変更することができます。