Share via


SQL Server 並列データ ウェアハウスの接続の種類 (SSRS)

Microsoft SQL Server 2016 (13.x) Analytics Platform System (PDW) はスケーラブルなデータ ウェアハウス アプライアンスで、高容量の並列処理によってパフォーマンスとスケーラビリティを提供します。 Azure Synapse Analytics では、分散処理とデータ ストレージに SQL Server データベースを使用します。

このアプライアンスでは、複数の物理ノードにわたる大規模なデータベース テーブルを分割し、各ノードが SQL Server の独自のインスタンスを実行するようにします。 レポートが Azure Synapse Analytics に接続してレポート データを取得するときには、クエリの処理を管理する、Azure Synapse Analytics アプライアンス内の制御ノードに接続します。 接続が確立すると、Azure Synapse Analytics 環境内にある SQL Server インスタンスと、環境内にない SQL Server インスタンスでの操作間で差はなくなります。

Azure Synapse Analytics からのデータをレポートに含めるには、Microsoft SQL Server 並列データ ウェアハウスの種類に該当するレポート データ ソースに基づいたデータセットが必要です。 このビルトイン データ ソースの種類は、Microsoft SQL Server 並列データ ウェアハウスのデータ拡張機能に基づいています。 このデータ ソースの種類を使用して、Azure Synapse Analytics に接続し、そのデータを取得します。

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

このトピックの情報を使用して、データ ソースを構築してください。 ステップ バイ ステップの手順については、「データ接続を追加および確認する (レポート ビルダーおよび SSRS)」を参照してください。

Connection String

Azure Synapse Analytics に接続する場合、Azure Synapse Analytics アプライアンス内のデータベース オブジェクトに接続します。 クエリ デザイナーで、使用するデータベース オブジェクトを指定します。 接続文字列でデータベースを指定しない場合は、管理者によって割り当てられた既定のデータベースに接続されます。 データ ソースへの接続に使用する接続情報および資格情報については、データベース管理者に問い合わせてください。 次の接続文字列の例では、Azure Synapse Analytics アプライアンスの CustomerSales サンプル データベースが指定されます。

HOST=<IP address>; database= CustomerSales; port=<port>  

また、 [データ ソースのプロパティ] ダイアログ ボックスを使用して、ユーザー名やパスワードなどの資格情報を入力します。 User Id オプションと Password オプションは、接続文字列に自動的に付加されます。これらを接続文字列の一部として入力する必要はありません。 このユーザー インターフェイスには、Azure Synapse Analytics アプライアンス内の制御ノードの IP アドレスとポート番号を指定するオプションもあります。 既定のポート番号は 17000 です。 ポートは管理者が変更できるので、接続文字列で別のポート番号を使用することもあります。

接続文字列の例について詳しくは、「データ接続文字列を作成する - レポート ビルダーおよび SSRS」を参照してください。

資格情報

Azure Synapse Analytics には、ユーザー名とパスワードを実装および保存するための独自のセキュリティ技術が用意されています。 Windows 認証は使用できません。 Windows 認証を使用して Azure Synapse Analytics に接続しようとすると、エラーが発生します。

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

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

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

  • 資格情報を必要としない。 このオプションを使用するには、レポート サーバーで自動実行アカウントを構成しておく必要があります。 詳細については、「自動実行アカウントの構成 (レポート サーバー構成マネージャー)」を参照してください。

詳細については、「データ接続文字列を作成する - レポート ビルダーおよび SSRS」または「レポート データ ソースに関する資格情報と接続情報を指定する」を参照してください。

クエリ

クエリでは、レポート データセット用に取得するデータを指定します。

クエリの結果セットの列には、データセットのフィールド コレクションが設定されます。 クエリで複数の結果セットが返された場合にレポートによって処理されるのは、クエリから取得された最初の結果セットだけです。 新しいクエリを作成するか、グラフィカル クエリ デザイナーで表示できる既存のクエリを開く場合、既定でリレーショナル クエリ デザイナーを使用できます。 クエリは、次の方法で指定できます。

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

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

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

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

テキスト ベースのクエリ デザイナーでは、 Text モードをサポートしています。このモードで、データ ソースからデータを選択する SQL コマンドを入力します。

Azure Synapse Analytics では SQL を使用し、SQL Server では Transact-SQL を使用します。 SQL 言語のこの 2 つの言語仕様はよく似ています。 SQL Server データ ソースの接続の種類のために作成されたクエリは、通常、SQL Server 2016 (13.x) Analytics Platform System (PDW) データ ソースの接続の種類に使用できます。

大規模なデータベース (Azure Synapse Analytics などのデータ ウェアハウスを含む) からレポート データを取得するクエリでは、データを集計および集約してクエリから返される行数を減らさない限り、行数の非常に多い結果セットが生成されることがあります。 集計やグループ化を含むクエリは、グラフィカルまたはテキストベースのクエリ デザイナーを使用して作成できます。

SQL データを集約するためにクエリ デザイナーに用意されている句、キーワード、および集計をサポートしています。

Azure Synapse Analytics で使用されるグラフィカル クエリ デザイナーには、要約データのみを取得するクエリの作成に役立つグループ化と集計のサポートが組み込まれています。 SQL 言語の機能には、GROUP BY 句、DISTINCT キーワード、および集計 (SUM、COUNT など) があります。 テキスト ベースのクエリ デザイナーでは、グループ化と集計が含まれている SQL 言語が完全にサポートされています。

Transact-SQL の詳細については、「Transact-SQL リファレンス (データベース エンジン)」を参照してください。

Text の種類のクエリの使用

テキスト ベースのクエリ デザイナーでは、 SQL コマンドを入力して、データセット内のデータを定義します。 Azure Synapse Analytics からデータを取得するときに使用するクエリは、Azure Synapse Analytics アプリケーション内で実行されていない SQL Server のインスタンスからデータを取得するときに使用するクエリと同じです。 たとえば、次の 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)

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

パラメーター

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

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

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

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

解説

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

プラットフォームとバージョンのサポートについて詳しくは、「Reporting Services でサポートされるデータ ソース (SSRS)」をご覧ください。

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

データ接続、データ ソース、およびデータセットを操作する手順について説明します。

データ接続を追加および確認する (レポート ビルダーおよび SSRS)

共有データセットまたは埋め込みデータセットの作成 (レポート ビルダーおよび SSRS)

データセットへのフィルターの追加 (レポート ビルダーおよび SSRS)

次に示すセクションでは、レポート データの概念が詳細に説明されているほか、データに関連するレポートのパーツを定義しカスタマイズし使用する手順が説明されています。

レポート データセット (SSRS)
レポートのデータへのアクセスの概要について説明します。

データ接続文字列を作成する - レポート ビルダーおよび SSRS
データ接続とデータ ソースについて説明します。

レポート埋め込みデータセットと共有データセット (レポート ビルダーおよび SSRS)
埋め込みデータセットと共有データセットについて説明します。

データセット フィールド コレクション (レポート ビルダーおよび SSRS)
クエリによって生成されるデータセット フィールド コレクションについて説明します。

Reporting Services でサポートされるデータ ソース (SSRS)
各データ拡張機能のプラットフォームおよびバージョン サポートに関する詳細な情報です。

次のステップ

レポート パラメーター
データのフィルター、グループ化、および並べ替え

その他の質問 Reporting Services のフォーラムに質問してみてください