次の方法で共有


Management Studio のカスタム レポート

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

SQL Server Management Studio では、多くのオブジェクト エクスプローラー ノードに、Microsoft によって作成された一連の標準レポートが表示されます。 これらのレポートは、通常要求されたサーバー情報をまとめたものです。 SQL Server 2005 (9.x) Service Pack 2 以降では、管理者は Management Studio から SQL Server Data Tools (SSDT) で作成されたカスタム レポートを実行できます。

実装

カスタム レポートはレポート定義 (.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 ステートメントは、レポートに埋め込んで、レポートから実行できます。 高い特権を持つユーザー アカウントでレポートを実行すると、これらの埋め込み命令のいずれかをチャレンジなしで実行できます。

関連項目

Management Studio にカスタム レポートを追加する
カスタムレポート実行時の警告抑制を解除
オブジェクト エクスプローラー ノードプロパティでカスタム レポートを使用する