En esta página, se muestra cómo habilitar e inhabilitar PolyBase en tus instancias de Cloud SQL para SQL Server.
Para obtener información general sobre PolyBase, consulta Compatibilidad de Cloud SQL para SQL Server con PolyBase.
Para obtener información sobre cómo establecer la configuración, consulta Configura fuentes de datos externas para usarlas con PolyBase.
Antes de comenzar
-
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, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.- Configura tu red para permitir el tráfico entre Cloud SQL para SQL Server y tu
fuente de datos externa.
- Si SQL Server no puede establecer una conexión correcta, el comando de T-SQL para configurar o consultar la fuente de datos externa falla.
Ya sea que uses una dirección IP pública o privada, asegúrate de que tu instancia de Cloud SQL y cualquier recurso de Google Cloud asistencia tengan acceso a tu fuente de datos externa dentro del firewall de la fuente de datos.
Si usas la dirección IP pública de la instancia de Cloud SQL, también debes obtener acceso a la VM de Compute Engine subyacente y obtener su dirección IP. Dado que esta VM subyacente no se externaliza a los usuarios, debes comunicarte con el equipo de asistencia deGoogle Cloud para recuperar su dirección IP. Esta dirección IP puede cambiar si se vuelve a crear la instancia.
- Para habilitar o inhabilitar PolyBase, necesitas los siguientes permisos:
cloudsql.instances.getcloudsql.instances.update
roles/cloudsql.editorroles/cloudsql.admin
Recomendamos usar el principio de privilegio mínimo cuando otorgues acceso.
Como alternativa, también puedes asignar estos permisos a un rol personalizado.
Revisa los nombres de las bases de datos de almacén existentes de tu instancia.
Cuando se habilita PolyBase, se crean tres bases de datos nuevas de almacenamiento de datos de PolyBase:
- DWConfiguration
- DWQueue
- DWDiagnostics
Antes de habilitar, usa una herramienta como SQL Server Management Studio (SSMS) para verificar si ya existen bases de datos con estos nombres. Si es así, comunícate con el equipo de asistencia deGoogle Cloud para obtener ayuda antes de continuar.
Se aplican ciertas restricciones a estas bases de datos del sistema:
- No puedes usar la consola de Google Cloud , la API de Cloud SQL Admin ni gcloud CLI
para realizar ciertas operaciones en las bases de datos de DW:
- Crear
- Borrar
- Lista
- Importar
- No puedes acceder a las bases de datos de DW con SQL Server Management Studio (SSMS).
- Si se replica la instancia, las bases de datos de DW no se copian en el recurso nuevo.
- Si la instancia se restablece con la PITR, las bases de datos de DW no se copian en el recurso nuevo.
- Las bases de datos de DW se conservan incluso después de inhabilitar PolyBase.
Para obtener más información, consulta los siguientes recursos:
Habilitación de PolyBase con marcas de base de datos
Puedes habilitar PolyBase con tu instancia de Cloud SQL para SQL Server con marcas de base de datos. Las marcas obligatorias varían según el tipo de fuente de datos externa que quieras usar:
- La marca de base de datos
polybasees obligatoria para todas las fuentes de datos externas. - Si usas Cloud Storage, también debes aplicar la marca de seguimiento de Microsoft SQL Server,
13702. Habilitar esta marca también habilita otras marcas de seguimiento necesarias para la compatibilidad con PolyBase.
En las siguientes secciones, se muestra cómo habilitar PolyBase en instancias nuevas y existentes.
Crea una instancia nueva con PolyBase habilitado
Para crear una instancia nueva con PolyBase habilitado, ejecuta el siguiente comando de
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"
Reemplaza lo siguiente:
- INSTANCE_NAME: el nombre de la instancia de Cloud SQL.
- VERSION: Es la versión de la base de datos que deseas usar.
- LOCATION: Es la ubicación de la instancia de Cloud SQL.
- PASSWORD: la contraseña de la instancia de Cloud SQL.
- EDITION: Es la edición de la base de datos que deseas usar.
- NUMBER_OF_CPUs: Es la cantidad de CPU que deseas usar.
- MEMORY_SIZE: Es la cantidad de memoria que deseas usar.
DATABASE_FLAG: Es el valor de la marca de base de datos que se requiere para habilitar PolyBase, independientemente del tipo de fuente de datos externa.
Debes ingresar
cloud sql enable polybase=on.Para obtener más información, consulta Marcas de base de datos.
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"
Reemplaza lo siguiente:
- INSTANCE_NAME: el nombre de la instancia de Cloud SQL.
- VERSION: Es la versión de la base de datos que deseas usar.
- LOCATION: Es la ubicación de la instancia de Cloud SQL.
- PASSWORD: la contraseña de la instancia de Cloud SQL.
- EDITION: Es la edición de la base de datos que deseas usar.
- NUMBER_OF_CPUs: Es la cantidad de CPU que deseas usar.
- MEMORY_SIZE: Es la cantidad de memoria que deseas usar.
DATABASE_FLAG_CLOUD_STORAGE: Son los valores de la marca de base de datos necesarios para habilitar PolyBase. Si tu fuente de datos externa es Cloud Storage, debes ingresar
cloud sql enable polybase=on,13702=on.Para obtener más información, consulta Marcas de base de datos.
Habilita PolyBase en una instancia existente
Para habilitar PolyBase en una instancia existente, ejecuta el siguiente comando de
gcloud:
Oracle
gcloud sql instances patch INSTANCE_NAME \
--database-flags="DATABASE_FLAG"
Reemplaza lo siguiente:
- INSTANCE_NAME: el nombre de la instancia de Cloud SQL.
- DATABASE_FLAG: Es el valor de la marca de base de datos que se requiere para habilitar PolyBase, independientemente del tipo de fuente de datos externa.
Debes ingresar cloud sql enable polybase=on.
Este ejemplo solo tiene fines ilustrativos. Ejecutar una operación patch con
un parámetro de configuración de marca de base de datos específico reemplaza cualquier marca de base de datos existente. Asegúrate
de incluir las marcas de base de datos existentes que quieras conservar. Si omites una marca de base de datos
establecida con anterioridad, esta se revierte a su valor predeterminado.
Para obtener más información, consulta Marcas de base de datos.
Cloud Storage
gcloud sql instances patch INSTANCE_NAME \
--database-flags="DATABASE_FLAG_CLOUD_STORAGE"
Reemplaza lo siguiente:
- INSTANCE_NAME: el nombre de la instancia de Cloud SQL.
- DATABASE_FLAG_CLOUD_STORAGE: Es el valor de la marca de base de datos que se requiere para habilitar PolyBase, independientemente del tipo de fuente de datos externa.
Debes ingresar cloud sql enable polybase=on,13702=on.
Este ejemplo solo tiene fines ilustrativos. Ejecutar una operación patch con
un parámetro de configuración de marca de base de datos específico reemplaza cualquier marca de base de datos existente. Asegúrate
de incluir las marcas de base de datos existentes que quieras conservar. Si omites una marca de base de datos
establecida con anterioridad, esta se revierte a su valor predeterminado.
Para obtener más información, consulta Marcas de base de datos.
Verifica la configuración de la instancia
Para verificar si PolyBase está habilitado en una instancia existente, ejecuta el siguiente comando de
gcloud:
gcloud
gcloud sql instances describe INSTANCE_NAME \
--format="value(settings.databaseFlags)"
Reemplaza lo siguiente:
- INSTANCE_NAME: el nombre de la instancia de Cloud SQL.
Inhabilita PolyBase
Para inhabilitar PolyBase en una instancia, ejecuta el siguiente comando de
gcloud:
gcloud
gcloud sql instances patch INSTANCE_NAME \
--database-flags="cloud sql enable polybase=off"
Reemplaza lo siguiente:
- INSTANCE_NAME: el nombre de la instancia de Cloud SQL.
Cuando se inhabilita PolyBase, no se borran los siguientes recursos de PolyBase:
- Bases de datos del sistema de DW
- Clave maestra de la base de datos (DMK)
- Fuentes de datos
- Credenciales con permisos de datos
- Tablas externas
Estos recursos se conservan en caso de que quieras volver a habilitar la función en el futuro.