Share via


SQL Azure 接続 (SSRS)

Microsoft SQL Azure データベースは、SQL Server テクノロジを基盤とする、ホストされたクラウド ベースのリレーショナル データベースです。SQL Azure データベースのデータをレポートに含めるには、種類が SQL Azure のレポート データ ソースに基づいたデータセットが必要です。このビルトイン データ ソースの種類は、SQL Azure データ拡張機能に基づいています。このデータ ソースの種類を使用して、SQL Azure データベース からのデータに接続し、そのデータを取得します。

このデータ拡張機能は、接続文字列とは個別に管理される、複数の値を持つパラメーター、サーバー集計、および資格情報をサポートしています。

SQL Azure は構内の SQL Server のインスタンスに似ていますが、SQL Azure データベース からのデータの取得は、一部の例外を除き、SQL Server からのデータの取得と同じです。SQL Azure データベース の機能は SQL Server 2008 に対応しています。

SQL Azure の詳細については、msdn.microsoft.com の「SQL Azure」を参照してください。

このトピックの情報を使用して、データ ソースを作成してください。手順の詳細については、「データ接続またはデータ ソースの追加および確認を行う方法 (レポート ビルダー 3.0 および SSRS)」を参照してください。

この記事の内容

接続文字列

資格情報

クエリ

パラメーター

解説

操作方法に関するトピック

関連セクション

接続文字列

SQL Azure に接続する場合、クラウド内のデータベース オブジェクトに接続します。オンサイトのデータベースと同様に、ホストされているデータベースには、複数のテーブル、ビュー、およびストアド プロシージャを含むスキーマが複数存在している場合があります。クエリ デザイナーで、使用するデータベース オブジェクトを指定します。接続文字列でデータベースを指定しない場合は、管理者によって割り当てられた既定のデータベースに接続されます。

データ ソースに接続するときに使用する接続情報および資格情報については、データベース管理者に問い合わせてください。AdventureWorks というホストされているサンプル データベースを指定する接続文字列の例を次に示します。

Data Source=<host>;Initial Catalog=AdventureWorks; Encrypt=True;

また、[データ ソースのプロパティ] ダイアログ ボックスを使用して、ユーザー名やパスワードなどの資格情報を入力します。User Id オプションと Password オプションは、接続文字列に自動的に付加されます。これらを接続文字列の一部として入力する必要はありません。

接続文字列の詳細と例については、「レポート ビルダー 3.0 のデータ接続、データ ソース、および接続文字列」を参照してください。

資格情報

Windows 認証 (統合セキュリティ) はサポートされていません。Windows 認証を使用して SQL Azure に接続しようとすると、エラーが発生します。SQL Azure では、SQL Server 認証 (ユーザー名とパスワード) しかサポートされていないため、ユーザーは SQL Azure に接続するたびに資格情報 (ログインとパスワード) を入力する必要があります。

データベースにアクセスするには、十分な資格情報が必要です。クエリによっては、他の権限 (ストアド プロシージャを実行したり、テーブルやビューにアクセスしたりするために必要な権限) が必要な場合があります。外部データ ソースの所有者は、十分な資格情報を構成して、ユーザーが必要とするデータベース オブジェクトに対する読み取り専用アクセスを提供する必要があります。

レポート作成クライアントから、次のオプションを使用して資格情報を指定します。

  • 保存されているユーザー名とパスワードを使用する。レポート データを格納するデータベースがレポート サーバーとは別のサーバーに存在する場合に発生するダブル ホップに対処するには、資格情報を Windows 資格情報として使用するオプションを選択します。データ ソースに接続した後に、認証されているユーザーの権限を借用するオプションもあります。

  • 資格情報を必要としない。このオプションを使用するには、レポート サーバーで自動実行アカウントを構成しておく必要があります。詳細については、msdn.microsoft.com にある Reporting Services のドキュメントの「自動実行アカウントの構成」を参照してください。

詳細については、「データ接続、データ ソース、および接続文字列 (SSRS)」または「レポート ビルダー 3.0 での資格情報の指定」を参照してください。

[トップに戻る] リンクで使用される矢印アイコントップに戻る

クエリ

クエリでは、レポート データセット用に取得するデータを指定します。クエリの結果セットの列には、データセットのフィールド コレクションが設定されます。クエリで複数の結果セットが返された場合にレポートによって処理されるのは、クエリから取得された最初の結果セットだけです。SQL Server データベースと SQL Azure データベースには、サポートされるデータベースのサイズなど、いくつかの違いがありますが、SQL Azure データベースに対するクエリの作成方法は、SQL Server データベースに対するクエリの作成方法とほぼ同じです。SQL Azure では、BACKUP などの一部の Transact-SQL ステートメントがサポートされていませんが、これらはレポート クエリで使用するステートメントではありません。詳細については、「SQL Server 接続 (SSRS)」を参照してください。

新しいクエリを作成するか、グラフィカルなクエリ デザイナーで表示できる既存のクエリを開く場合、既定でリレーショナル クエリ デザイナーを使用できます。クエリは、次の方法で指定できます。

  • クエリを対話形式で作成します。データベース スキーマ別に編成された、テーブル、ビュー、ストアド プロシージャ、およびその他のデータベース アイテムの階層ビューが表示されるリレーショナル クエリ デザイナーを使用します。テーブルまたはビューから列を選択するか、ストアド プロシージャまたはテーブル値関数を指定します。フィルター条件を指定して、取得するデータの行数を制限します。パラメーター オプションを設定してレポートの実行時にフィルターをカスタマイズします。

  • クエリを入力するか、貼り付けます。テキスト ベースのクエリ デザイナーは、Transact-SQL テキストを直接入力する、クエリ テキストを別のソースから貼り付ける、リレーショナル クエリ デザイナーでは作成できない複雑なクエリを入力する、クエリ ベースの式を入力する、などの場合に使用します。

  • ファイルまたはレポートから既存のクエリをインポートします。クエリ デザイナーの [クエリのインポート] ボタンを使用して、.sql ファイルまたは .rdl ファイルを参照し、クエリをインポートします。

テキスト ベースのクエリ デザイナーでは、次の 2 つのモードがサポートされています。

  • テキスト   データ ソースからデータを選択する Transact-SQL コマンドを入力します。

  • ストアド プロシージャ   ストアド プロシージャの一覧から選択します。

詳細については、「リレーショナル クエリ デザイナーのユーザー インターフェイス (レポート ビルダー 3.0)」および「テキストベースのクエリ デザイナーのユーザー インターフェイス (レポート ビルダー 3.0)」を参照してください。

クエリの複雑さやクエリが返すデータによっては、クエリの完了に時間がかかる場合があります。このリリースの SQL Azure では、アイドル状態の接続や、実行時間の長いクエリまたはトランザクションは、5 分後に終了されます。完了までに 5 分以上かかるクエリは失敗します。SQL Azure からレポート データを取得するレポート クエリは、できる限り効率的になるように設計することをお勧めします。

SQL Azure で使用されるグラフィカルなクエリ デザイナーには、要約データのみを取得するクエリの作成に役立つグループ化と集計が組み込みサポートされています。Transact-SQL 言語の機能には、GROUP BY 句、DISTINCT キーワード、および集計 (SUM、COUNT など) があります。テキスト ベースのクエリ デザイナーでは、グループ化と集計が含まれている Transact-SQL 言語が完全にサポートされています。Transact-SQL の詳細については、msdn.microsoft.com にある SQL Serverオンライン ブックの「Transact-SQL リファレンス (データベース エンジン)」を参照してください。

Text の種類のクエリの使用

テキスト ベースのクエリ デザイナーでは、Transact-SQL コマンドを入力して、データセット内のデータを定義します。たとえば、次の Transact-SQL クエリでは、マーケティング アシスタントであるすべての従業員の名前を選択します。

SELECT
  HumanResources.Employee.BusinessEntityID
  ,HumanResources.Employee.JobTitle
  ,Person.Person.FirstName
  ,Person.Person.LastName
FROM
  Person.Person
  INNER JOIN HumanResources.Employee
    ON Person.Person.BusinessEntityID = HumanResources.Employee.BusinessEntityID
WHERE HumanResources.Employee.JobTitle = 'Marketing Assistant' 

ツール バーの [実行] ボタン (!) をクリックすると、クエリが実行され、結果セットが表示されます。

このクエリをパラメーター化するには、クエリ パラメーターを追加します。たとえば、WHERE 句を次の構文に変更します。

WHERE HumanResources.Employee.JobTitle = (@JobTitle)

クエリの実行時に、クエリ パラメーターに対応するレポート パラメーターが自動的に作成されます。詳細については、このトピックの「クエリ パラメーター」を参照してください。

[トップに戻る] リンクで使用される矢印アイコントップに戻る

StoredProcedure の種類のクエリの使用

データセット クエリのストアド プロシージャは、次のいずれかの方法で指定できます。

  • [データセットのプロパティ] ダイアログ ボックスで、[ストアド プロシージャ] オプションを設定します。ドロップダウン リストからストアド プロシージャまたはテーブル値関数を選択します。

  • リレーショナル クエリ デザイナーのデータベース ビュー ペインで、ストアド プロシージャまたはテーブル値関数を選択します。

  • テキスト ベースのクエリ デザイナーで、ツール バーから [StoredProcedure] を選択します。

ストアド プロシージャまたはテーブル値関数を選択したら、クエリを実行できます。入力パラメーター値の入力を要求されます。クエリの実行時に、入力パラメーターに対応するレポート パラメーターが自動的に作成されます。詳細については、このトピックの「クエリ パラメーター」を参照してください。

ストアド プロシージャから取得した最初の結果セットだけがサポートされます。ストアド プロシージャから複数の結果セットが返された場合、最初の結果セットだけが使用されます。

既定値が指定されたパラメーターがストアド プロシージャに含まれている場合、パラメーターの値として DEFAULT キーワードを使用してその値にアクセスできます。クエリ パラメーターがレポート パラメーターにリンクされている場合は、レポート パラメーターの入力ボックスで DEFAULT キーワードを入力または選択できます。

ストアド プロシージャの詳細については、msdn.microsoft.com で、SQL Server オンライン ブックの「ストアド プロシージャ (データベース エンジン)」を参照してください。

[トップに戻る] リンクで使用される矢印アイコントップに戻る

パラメーター

入力パラメーターを含むクエリ変数またはストアド プロシージャがクエリ テキストに含まれている場合、対応するデータセットのクエリ パラメーターとレポートのレポート パラメーターが自動的に生成されます。クエリ テキストには、各クエリ変数の DECLARE ステートメントを含めないでください。

たとえば、次の SQL クエリでは、EmpID という名前のレポート パラメーターが作成されます。

SELECT FirstName, LastName FROM HumanResources.Employee E INNER JOIN
       Person.Contact C ON  E.ContactID=C.ContactID 
WHERE EmployeeID = (@EmpID)

レポート パラメーターの既定のデータ型は [テキスト] です。各レポート パラメーターには自動的に作成されたデータセットが設定され、使用可能な値のドロップダウン リストで使用されます。レポート パラメーターを作成した後に、既定値の変更が必要になる場合があります。詳細については、「パラメーター (レポート ビルダー 3.0 および SSRS)」を参照してください。

[トップに戻る] リンクで使用される矢印アイコントップに戻る

解説

代替データ拡張機能

SQL Server データベースからのデータの取得は、データ ソースの種類に ODBC を使用して行うこともできます。OLE DB を使用した SQL Azure データベース への接続はサポートされていません。

詳細については、「ODBC 接続 (SSRS)」を参照してください。

プラットフォームおよびバージョン情報

プラットフォームおよびバージョン サポートの詳細については、Reporting Services のドキュメント (SQL Serverオンライン ブック) の「Reporting Services でサポートされるデータ ソース (SSRS)」を参照してください。

[トップに戻る] リンクで使用される矢印アイコントップに戻る

関連セクション

次に示すセクションでは、レポート データの概念に関する詳細な情報と、データに関連するレポートのパーツを定義、カスタマイズ、および使用する手順に関する情報を提供します。

[トップに戻る] リンクで使用される矢印アイコントップに戻る