本頁面說明如何為 SQL Server 適用的 Cloud SQL 執行個體啟用及停用 PolyBase。
如要瞭解 PolyBase 的總覽資訊,請參閱「SQL Server 適用的 Cloud SQL support for PolyBase」(SQL Server 適用的 Cloud SQL 支援 PolyBase)。
如要瞭解如何設定,請參閱「設定外部資料來源以搭配使用 PolyBase」。
事前準備
- 登入 Google Cloud 帳戶。如果您是 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.- 設定網路,允許 SQL Server 適用的 Cloud SQL 與外部資料來源之間的流量。
- 如果 SQL Server 無法建立連線,設定或查詢外部資料來源的 T-SQL 指令就會失敗。
無論使用公開或私人 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 時,系統會建立三個新的 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
您可以使用資料庫旗標,為 SQL Server 適用的 Cloud SQL 執行個體啟用 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)
- 資料來源
- 資料範圍憑證
- 外部資料表
這些資源會保留下來,方便您日後重新啟用這項功能。