よく寄せられる質問

適用対象:SQL Server 2016 (13.x) 以降のバージョン

PolyBase とリンク サーバー

次の表に、PolyBase とリンク サーバーの機能の違いを示します。

PolyBase リンク サーバー
データベース スコープ オブジェクト インスタンス スコープ オブジェクト
ODBC ドライバーを使用します OLEDB プロバイダーを使用します
すべてのデータ ソースに対する読み取り専用操作と、一部の外部データ ソースへの書き込みをサポートします 読み取りと書き込み両方の操作をサポートします
単一の接続からのリモート データ ソースに対するクエリをスケールアウトできます 単一の接続からのリモート データ ソースに対するクエリをスケールアウトできません
述語のプッシュダウンがサポートされています 述語のプッシュダウンがサポートされています
可用性グループについて個別に構成する必要はありません 可用性グループの各インスタンスについて個別に構成する必要があります
基本認証のみ 基本 & 統合認証
多くの行を処理する分析クエリに適しています 1 つまたは少数の行を返す OLTP クエリに適しています
外部テーブルを使用するクエリは分散トランザクションに参加できません 分散クエリが分散トランザクションに参加できます

SQL Server 2022 の PolyBase の新機能

SQL Server 2022 (16.x) では、Azure Storage アカウント v2、Azure Data Lake Storage Gen2、または S3 REST API を使用する S3 互換オブジェクト ストレージ、オンプレミス、またはクラウドに格納されている CSV、Parquet、Delta ファイルがサポートされるようになりました。

SQL Server 2022 (16.x) では、CREATE EXTERNAL TABLE を SELECT (CETAS) として、OPENROWSET、CREATE EXTERNAL TABLE (CET)、およびすべての新しい T-SQL 拡張機能などのコマンドと共に使用できるようになりました。

現在、Hadoop 外部データ ソースのサポートは、SQL Server 2022 (16.x) で削除されています。

詳細については、「SQL Server 2022 用 PolyBase を使用したデータ仮想化」を参照し、SQL Server 2022 PolyBase の機能強化を確認してください。

SQL Server 2019 の PolyBase の新機能

SQL Server 2019 (15.x) の PolyBase では、さまざまなデータ ソースからデータを読み取ることができるようになりました。 これらの外部データ ソースのデータは、SQL Serverの外部テーブルとして格納できます。 PolyBase により、ODBC ジェネリック型を除くこれらの外部データ ソースへのプッシュ ダウン計算もサポートされます。

互換性のあるデータ ソース

  • SQL Server
  • Oracle
  • Teradata
  • MongoDB
  • 互換性のある ODBC ジェネリック型

注意

PolyBase では、サードパーティの ODBC ドライバーを使用して外部データ ソースへの接続を許可できます。 これらのドライバーは PolyBase と共に提供されておらず、意図したとおりに動作しない可能性があります。 詳細については、「 ODBC ジェネリック型を使用して外部データにアクセスするように PolyBase を構成する」を参照してください。

サードパーティのデータ ソースへの接続に指定できるCONNECTION_OPTIONSは何ですか?

SQL Server、Oracle、Teradata、Cosmos DB 用 MongoDB API、汎用 ODBC データ プロバイダーでサポートされているデータ プロバイダー接続オプションについては、「CREATE EXTERNAL DATA SOURCE (Transact-SQL) CONNECTION_OPTIONS」を参照してください。

PolyBase プッシュダウン計算のリモート クエリ実行プランを表示するにはどうすればよいですか?

これは、SQL Server のバージョンに応じて、いくつかの方法で行うことができます。 PolyBase のトラブルシューティング - PolyBase クエリ プランを表示するにはに関するページを参照してください。

PolyBase プッシュダウン計算が行われているかどうかを確認するにはどうすればよいですか?

Azure SQL Database で PolyBase はサポートされていますか?

いいえ。ただし、OPENROWSET 関数を使用して、Azure Blob Storageに配置されたファイル内のデータに対してクエリを実行することも、CREATE EXTERNAL TABLE を使用して Synapse Analytics のサーバーレス SQL プールから読み取ることもできます。 詳細については、「Synapse SQL 外部テーブルを使用して Azure Data Lake ストレージ ファイルを読み取ることができるAzure SQL」を参照してください。

PolyBase はAzure SQL Managed Instanceでサポートされていますか?

Azure SQL Managed Instanceには、Azure Data Lake Storage (ADLS) とデータ ソースとしてAzure Blob Storageするための独自のデータ仮想化機能があります。 詳細については、「Azure SQL Managed Instanceを使用したデータ仮想化」を参照してください。

PolyBase のファイアウォールを通過するには、どのポートを許可する必要がありますか?

PolyBase スケールアウト グループの場合を除き、PolyBase 自体のために追加のポートを開く必要はありません。 スケールアウト グループがない場合、PolyBase サービスだけではファイアウォール規則を必要としないはずです。

Windows サーバーでは、PolyBase は、SQL Server 構成マネージャー の TCP/IP 設定の IPAll セクションにある SQL Server で使用されるポートを利用します。 詳細については、TCP/IP のプロパティ を参照してください。 Linux サーバーでは、PolyBase は network.tcpport 設定を利用します。 詳しくは、TCP ポート を参照してください。

複数の Windows サーバー上の PolyBase スケールアウト グループについては、次の質問のポート情報を参照してください。

ただし、PolyBase で使用されるさまざまな外部データ ソースへの通信には、他のポートを許可する必要があります。 ODBC 構成、Azure リソース構成、または特定のデータ ソースのドキュメントを参照してください。 次に例を示します。

ソース プラットフォーム 関連項目
Microsoft SQL Server SQL Server で使用されるポート
Hortonworks HDP HDFS の管理
Cloudera CDH CDH コンポーネントで使用されるポート

PolyBase スケールアウト グループに使用されるのはどのポートですか?

既定では、PolyBase データ移動サービスは、TCP 16450 から 16460 までの範囲のポートを使用 (通常は 16450 - 16453 とポート 17001 を使用) して、スケールアウト グループのヘッド ノードに接続します。 これらのポートは、PolyBase スケールアウト グループが構成されている場合にのみ使用され、サーバー ファイアウォールの通過を許可する必要があります。 SQL Server セットアップでは、機能のインストール時にこれらのポートを許可するローカル ファイアウォール規則が自動的に作成されるはずです。 詳細については、「Windows で PolyBase スケールアウト グループを構成する」を参照してください。

注意

Microsoft SQL Server PolyBase スケールアウト グループは廃止されます。 SQL Server 2022 (16.x) では、スケールアウト グループ機能が製品から削除されます。

ビッグ データ クラスターの PolyBase とスタンドアロン インスタンスの PolyBase

ODBC ジェネリック コネクタを使用した接続の詳細については、ODBC ジェネリック 型の構成に関するハウツー ガイドを参照してください

次の表では、SQL Server 2019 (15.x) スタンドアロン インストールおよび SQL Server 2019 (15.x) ビッグ データ クラスターで使用できる PolyBase 機能を示します。

機能 ビッグ データ クラスター スタンドアロン インスタンス
SQL Server、Oracle、Teradata、Mongo DB に対する外部データ ソースを作成する X X
互換性のあるサードパーティ製 ODBC ドライバーを使用して外部データ ソースを作成する X
HADOOP データ ソースに対する外部データ ソースを作成する X X
Azure Blob Storage に対する外部データ ソースを作成する X X
SQL Server データ プールに外部テーブルを作成する X
SQL Server ストレージ プールに外部テーブルを作成する X
クエリの実行をスケールアウトする X X (Windows のみ)

重要

Microsoft SQL Server 2019 ビッグ データ クラスターのアドオンは廃止されます。 SQL Server 2019 ビッグ データ クラスターのサポートは、2025 年 2 月 28 日に終了します。 詳細については、「Microsoft SQL Server プラットフォームのビッグ データ オプション」を参照してください。