PolyBase を有効または無効にする

<meta <="" content="このページでは、Cloud SQL for SQL Server インスタンスで PolyBase を有効または無効にする方法について説明します。" name="description" /> <0x0

このページでは、Cloud SQL for SQL Server インスタンスで PolyBase を有効または無効にする方法について説明します。

PolyBase の概要については、Cloud SQL for SQL Server の PolyBase のサポートをご覧ください。

構成の設定方法については、PolyBase で使用する外部データソースを構成するをご覧ください。

始める前に

  1. Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Cloud SQL, Cloud SQL Admin, and Compute Engine APIs.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Cloud SQL, Cloud SQL Admin, and Compute Engine APIs.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  10. Cloud SQL for SQL Server と外部データソース間のトラフィックを許可するようにネットワークを構成します。
    • SQL Server が接続を確立できない場合、外部データソースを設定またはクエリする T-SQL コマンドは失敗します。
    • パブリック IP アドレスとプライベート IP アドレスのどちらを使用する場合でも、Cloud SQL インスタンスとサポート リソースが、データソースのファイアウォール内の外部データソースにアクセスできることを確認してください。 Google Cloud

      Cloud SQL インスタンスのパブリック IP アドレスを使用している場合は、基盤となる Compute Engine VM へのアクセス権も取得し、その IP アドレスを取得する必要があります。この基盤となる VM はユーザーに公開されていないため、IP アドレスを取得するには Google Cloud サポートにお問い合わせください。この IP アドレスは、インスタンスが再作成されると変更される可能性があります。

  11. PolyBase を有効または無効にするには、次の権限が必要です。
    • cloudsql.instances.get
    • cloudsql.instances.update
    次のいずれかのロールに上記の権限が付与されています。
    • roles/cloudsql.editor
    • roles/cloudsql.admin

    アクセス権を付与する際は、最小権限の原則に従うことをおすすめします。

    また、これらの権限をカスタムロールに割り当てることもできます。

  12. インスタンスの既存のウェアハウス データベース名を確認します。

    PolyBase が有効になっている場合、次の 3 つの新しい PolyBase データ ウェアハウス データベースが作成されます。

    • DWConfiguration
    • DWQueue
    • DWDiagnostics

    有効にする前に、SQL Server Management Studio(SSMS)などのツールを使用して、これらの名前のデータベースがすでに存在するかどうかを確認します。その場合は、続行する前に Google Cloud サポートにお問い合わせください。

    これらのシステム データベースには一定の制限が適用されます。

    • Google Cloud コンソール、Cloud SQL Admin API、gcloud CLI を使用して、DW データベースで特定のオペレーションを実行することはできません。
      • 作成
      • 削除
      • リスト
      • インポート
      ただし、エクスポート コマンドを使用して、これらのデータベースのバックアップを作成できます。
    • SQL Server Management Studio(SSMS)を使用して DW データベースにアクセスすることはできません。
    • インスタンスが複製されている場合、DW データベースは新しいリソースにコピーされません。
    • PITR を使用してインスタンスを復元した場合、DW データベースは新しいリソースにコピーされません。
    • PolyBase が無効になっても、DW データベースは保持されます。

    詳しくは、次のリソースをご覧ください。

データベース フラグを使用した PolyBase の有効化

データベース フラグを使用して、Cloud SQL for SQL Server インスタンスで PolyBase を有効にできます。必要なフラグは、使用する外部データソースのタイプによって異なります。

  • polybase データベース フラグは、すべての外部データソースで必要です。
  • Cloud Storage を使用する場合は、Microsoft SQL Server トレースフラグ 13702 も適用する必要があります。このフラグを有効にすると、PolyBase のサポートに必要な他のトレースフラグも有効になります。

以降のセクションでは、新規インスタンスと既存のインスタンスで PolyBase を有効にする方法について説明します。

PolyBase を有効にして新しいインスタンスを作成する

PolyBase を有効にして新しいインスタンスを作成するには、次の gcloud コマンドを実行します。

Oracle

gcloud sql instances create INSTANCE_NAME \
  --database-version=VERSION --region=LOCATION \
  --root-password=PASSWORD --edition=EDITION \
  --cpu=NUMBER_OF_CPUs --memory=MEMORY_SIZE \
  --database-flags="DATABASE_FLAG"

次のように置き換えます。

  • INSTANCE_NAME: Cloud SQL インスタンスの名前。
  • VERSION: 使用するデータベース バージョン。
  • LOCATION: Cloud SQL インスタンスのロケーション。
  • PASSWORD: Cloud SQL インスタンスのパスワード。
  • EDITION: 使用するデータベース エディション。
  • NUMBER_OF_CPUs: 使用する CPU の数。
  • MEMORY_SIZE: 使用するメモリ容量。
  • DATABASE_FLAG: 外部データソースのタイプに関係なく、PolyBase を有効にするために必要なデータベース フラグ値。

    cloud sql enable polybase=on と入力する必要があります。

    詳細については、データベース フラグをご覧ください。

Cloud Storage

gcloud sql instances create INSTANCE_NAME \
  --database-version=VERSION --region=LOCATION \
  --root-password=PASSWORD --edition=EDITION \
  --cpu=NUMBER_OF_CPUs --memory=MEMORY_SIZE \
  --database-flags="DATABASE_FLAG_CLOUD_STORAGE"

次のように置き換えます。

  • INSTANCE_NAME: Cloud SQL インスタンスの名前。
  • VERSION: 使用するデータベース バージョン。
  • LOCATION: Cloud SQL インスタンスのロケーション。
  • PASSWORD: Cloud SQL インスタンスのパスワード。
  • EDITION: 使用するデータベース エディション。
  • NUMBER_OF_CPUs: 使用する CPU の数。
  • MEMORY_SIZE: 使用するメモリ容量。
  • DATABASE_FLAG_CLOUD_STORAGE: PolyBase を有効にするために必要なデータベース フラグ値。外部データソースが Cloud Storage の場合は、cloud sql enable polybase=on,13702=on と入力する必要があります。

    詳細については、データベース フラグをご覧ください。

既存のインスタンスで PolyBase を有効にする

既存のインスタンスで PolyBase を有効にするには、次の gcloud コマンドを実行します。

Oracle

gcloud sql instances patch INSTANCE_NAME \
--database-flags="DATABASE_FLAG"

次のように置き換えます。

  • INSTANCE_NAME: Cloud SQL インスタンスの名前。
  • DATABASE_FLAG: 外部データソースのタイプに関係なく、PolyBase を有効にするために必要なデータベース フラグ値。

cloud sql enable polybase=on と入力する必要があります。

この例は説明のみを目的としています。特定のデータベース フラグ設定で patch オペレーションを実行すると、既存のデータベース フラグが置き換えられます。残しておきたい既存のデータベース フラグも必ず含めてください。以前に設定したデータベース フラグを省略すると、省略したフラグはデフォルト値に戻ります。

詳細については、データベース フラグをご覧ください。

Cloud Storage

gcloud sql instances patch INSTANCE_NAME \
--database-flags="DATABASE_FLAG_CLOUD_STORAGE"

次のように置き換えます。

  • INSTANCE_NAME: Cloud SQL インスタンスの名前。
  • DATABASE_FLAG_CLOUD_STORAGE: 外部データソースのタイプに関係なく、PolyBase を有効にするために必要なデータベース フラグ値。

cloud sql enable polybase=on,13702=on と入力する必要があります。

この例は説明のみを目的としています。特定のデータベース フラグ設定で patch オペレーションを実行すると、既存のデータベース フラグが置き換えられます。残しておきたい既存のデータベース フラグも必ず含めてください。以前に設定したデータベース フラグを省略すると、省略したフラグはデフォルト値に戻ります。

詳細については、データベース フラグをご覧ください。

インスタンス構成を確認する

既存のインスタンスで PolyBase が有効になっているかどうかを確認するには、次の gcloud コマンドを実行します。

gcloud

gcloud sql instances describe INSTANCE_NAME \
  --format="value(settings.databaseFlags)"

次のように置き換えます。

  • INSTANCE_NAME: Cloud SQL インスタンスの名前。

PolyBase を無効にする

インスタンスで PolyBase を無効にするには、次の gcloud コマンドを実行します。

gcloud

gcloud sql instances patch INSTANCE_NAME \
--database-flags="cloud sql enable polybase=off"

次のように置き換えます。

  • INSTANCE_NAME: Cloud SQL インスタンスの名前。

PolyBase が無効になっている場合、次の PolyBase リソースは削除されません。

  • DW システム データベース
  • データベース マスター鍵(DMK)
  • データソース
  • データ スコープの認証情報
  • 外部テーブル

これらのリソースは、今後この機能を再度有効にする場合に備えて保持されます。

次のステップ