このページでは、Cloud SQL for SQL Server インスタンスで PolyBase を有効または無効にする方法について説明します。
PolyBase の概要については、Cloud SQL for SQL Server での PolyBase のサポートをご覧ください。
構成の設定方法については、 PolyBase で使用する外部データソースを構成するをご覧ください。
始める前に
- アカウントにログインします。 Google Cloud を初めて使用する場合は、 アカウントを作成して、実際のシナリオで Google プロダクトのパフォーマンスを評価してください。 Google Cloud新規のお客様には、ワークロードの実行、テスト、デプロイに使える $300 分の無料クレジットも提供されます。
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud SQL, Cloud SQL Admin, and Compute Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud SQL, Cloud SQL Admin, and Compute Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.- Cloud SQL for SQL Server と外部データソース間のトラフィックを許可するようにネットワークを構成します。
- SQL Server が正常に接続を確立できない場合、外部データソースを設定またはクエリする T-SQL コマンドは失敗します。
パブリック IP アドレスまたはプライベート IP アドレスを使用しているかどうかにかかわらず、Cloud SQL インスタンスと サポート Google Cloud リソースが、データソースのファイアウォール内の外部データ ソースにアクセスできることを確認してください。
Cloud SQL インスタンスのパブリック IP アドレスを使用している場合は、基盤となる Compute Engine VM へのアクセス権を取得し、その IP アドレスを取得する必要があります。この基盤となる VM はユーザーに公開されていないため、 Google Cloud サポートに連絡して IP アドレスを取得する必要があります。インスタンスが再作成されると、この IP アドレスが変更される可能性があります。
- PolyBase を有効または無効にするには、次の権限が必要です。
cloudsql.instances.getcloudsql.instances.update
roles/cloudsql.editorroles/cloudsql.admin
アクセス権を付与する際は、最小権限の原則を使用することをおすすめします。
これらの権限をカスタムロールに割り当てることもできます。
インスタンスの既存のウェアハウス データベース名を確認します。
PolyBase を有効にすると、3 つの新しい PolyBase データ ウェアハウス データベースが 作成されます。
- DWConfiguration
- DWQueue
- DWDiagnostics
有効にする前に、SQL Server Management Studio(SSMS) などのツールを使用して、これらの名前のデータベースがすでに存在するかどうかを確認します。存在する場合は、続行する前に Google Cloud サポート にお問い合わせください。
これらのシステム データベースには、次の制限が適用されます。
-
コンソール、Cloud SQL Admin API、gcloud CLI を使用して、DW データベースに対して特定のオペレーションを実行することはできません。 Google Cloud
- 作成
- 削除
- リスト
- インポート
- 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)
- データソース
- データスコープの認証情報
- 外部テーブル
これらのリソースは、今後この機能を再度有効にする場合に備えて保持されます。