PolyBase の資格情報とデータ ソース

完了

データ仮想化と PolyBase の原則を理解したら、セキュリティと接続性を理解することが重要です。 このユニットでは、PolyBase で使用されるオブジェクトと演算子について説明します。

PolyBase 機能は SQL Server インスタンス レベルで有効になっていますが、POLYBase オブジェクトと OPENROWSET、CET、CETAS などの演算子はデータベース レベルで機能します。 すべてのデータ ソース、外部ファイル形式、および外部資格情報は、特定のデータベースに関連付けられます。

次の図は、PolyBase オブジェクトとのデータベースリレーションシップを示しています。

SQL Server の PolyBase オブジェクトの図。

  • マスター キー: データベース マスター キー (DMK) は、データベースに存在する証明書と非対称キーの秘密キーを保護するために使用される対称キーです。 DMK は、すべての外部資格情報とデータ ソース情報を安全に格納するためのセキュリティ メカニズムです。 詳細については、「CREATE MASTER KEY (Transact-SQL)」を参照してください。

  • データベース スコープ資格情報: CREATE DATABASE SCOPED CREDENTIAL コマンドは、外部データ ソースで使用される資格情報を保持する資格情報を作成します。 詳細については、「CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL)」を参照してください。

  • 外部データ ソース: CREATE EXTERNAL DATA SOURCE コマンドは、外部データ ソースにアクセスするために必要な情報を保持するデータ ソースを作成します。 外部データ ソースには、別のデータベース サーバー、または Azure Blob Storage、Azure Data Lake Storage、S3 互換オブジェクト ストレージなどのストレージの場所を指定できます。 詳細については、「 CREATE EXTERNAL DATA SOURCE (Transact-SQL)」を参照してください。

  • 外部テーブル: CREATE EXTERNAL TABLE コマンドは、ファイルまたは別のデータベース テーブルである外部データ ソースを指す仮想テーブルを作成します。 このテーブルが使用されるたびに、SQL Server はソースからデータをフェッチします。 このコマンドを実行すると、ユーザーとアプリケーションは、元のデータを管理する複雑さを伴わずに通常のテーブルを操作する場合と同じレベルの柔軟性が得まれます。 詳細については、「 CREATE EXTERNAL TABLE (Transact-SQL)」を参照してください。

  • 外部ファイル形式: CREATE EXTERNAL FILE FORMAT コマンドは、特定のファイルの種類に対する SQL Server の動作を定義します。 外部ファイル形式は、ファイル、フィールド ターミネータ、区切り記号、圧縮、およびエンコードの種類を決定します。 詳細については、「 CREATE EXTERNAL FILE FORMAT (Transact-SQL)」を参照してください。

サポートされている PolyBase データ ソース

コネクタの場所のプレフィックスは、接続先となるエンドポイントの種類を SQL Server に通知します。 たとえば、Azure Blob Storage アカウントに接続する場合は、 absを使用しますが、Oracle サーバーに接続するには、 oracleを使用します。

外部データ ソース コネクタの場所のプレフィックス ロケーションパス 認証
Azure Blob Storage abs abs://<storage_account_name>.blob.core.windows.net/<container_name> Shared Access Signature (SAS)、マネージド ID (SQL Server 2025 Azure Arc または Azure VM)
Azure Data Lake Storage adls adls://<storage_account_name>.dfs.core.windows.net/<container_name> SAS、マネージド ID (SQL Server 2025 Azure Arc または Azure VM)
SQL Server sqlserver <server_name>[\<instance_name>][:port] SQL 認証のみ
Oracle oracle <server_name>[:port] 基本認証のみ
Teradata teradata <server_name>[:port] 基本認証のみ
MongoDB または Azure Cosmos DB 用の MongoDB API mongodb <server_name>[:port] 基本認証のみ
汎用オープン データベース接続 (ODBC) odbc <server_name>[:port] 基本認証のみ
一括操作 https <storage_account>.blob.core.windows.net/<container> SAS
S3 互換オブジェクト ストレージ s3 s3://<server_name>:<port>/ S3 アクセス キー (IDENTITY = 'S3 Access Key'SECRET = '<AccessKeyID>:<SecretKeyID>') またはパススルー (STS)

一部のプレフィックスは、互換性の理由から以前のバージョンのSQL Serverから変更されました。 データ ソースと対応するプレフィックスの完全な一覧については、「 CREATE EXTERNAL DATA SOURCE」を参照してください。

PolyBase でサポートされているファイル形式

SQL Server 2025 では、次のファイル形式がサポートされています。

  • CSV
  • Parquet
  • 区切りテキスト
  • デルタ (読み取り専用)。 SQL Server は Delta ファイルを読み取ることができますが、テーブルの結果を Delta としてエクスポートすることはできません。

OPENROWSET、CET、および CETAS

PolyBase では、3 つの演算子を使用してデータのクエリまたは仮想化を行います。 このトレーニング モジュールでは、これらのコマンドとそのユース ケースについて説明します。

  • OPENROWSET は、SQL エンジンが SQL Server の外部 (ファイルまたは別のデータベース) の外部のデータにアクセスできるようにする軽量のコマンドです。 OPENROWSET はアドホック実行用に最適化されており、データの読み込みまたはデータ探索に推奨されます。 詳細については、「OPENROWSET (Transact-SQL)」を参照してください。

  • CREATE EXTERNAL TABLE (CET) は、SQL Server の外部の元の場所にデータが残っているテーブルを作成します。 テーブルが選択されると、SQL エンジンは要求されたデータをユーザーに提供します。 外部テーブルは再利用性の利点があり、統計を使用してパフォーマンスを向上させることができます。 詳細については、「 CREATE EXTERNAL TABLE (Transact-SQL)」を参照してください。

  • CREATE EXTERNAL TABLE AS SELECT (CETAS) は、1 つのコマンドで操作の組み合わせを実行します。 まず、CETAS を使用すると、SQL Server は、データベースの内部または外部に格納されている特定のデータを変換および変換できます。 その後、CETAS は、ネットワークの場所または Azure の別の場所にデータをエクスポートします。 最後に、CETAS は、新しくエクスポートされたデータを対象とする外部テーブルを作成します。 詳細については、「 CREATE EXTERNAL TABLE AS SELECT (Transact-SQL)」を参照してください。