Configurar marcas de bases de datos

En esta página, se describe cómo configurar las marcas de base de datos de Cloud SQL y se muestra una lista de aquellas que puedes configurar para tu instancia. Las marcas de base de datos se usan en muchas operaciones, como el ajuste de los parámetros de SQL Server, el ajuste de las opciones y la configuración, y el ajuste de una instancia.

Cuando se configura, quita o modifica una marca para una instancia de base de datos, es posible que se reinicie la base de datos. El valor de marca se conserva para la instancia hasta que lo quites. Si la instancia es la fuente de una réplica y la instancia se reinicia, la réplica también se reinicia para alinearse con la configuración actual de la instancia.

Configurar marcas de bases de datos

Establece una marca de base de datos

Console

  1. En la consola de Google Cloud, selecciona el proyecto que contiene la instancia de Cloud SQL para la que deseas configurar una marca de base de datos.
  2. Abre la instancia y haz clic en Editar.
  3. Desplázate hacia abajo hasta la sección Marcas.
  4. Para configurar una marca que no se configuró antes en la instancia, haz clic en Agregar elemento, elige la marca del menú desplegable y configura su valor.
  5. Haz clic en Guardar para guardar los cambios.
  6. Confirma tus cambios en Marcas en la página Descripción general.

gcloud

Edita la instancia:

gcloud sql instances patch INSTANCE_NAME --database-flags=FLAG1=VALUE1,FLAG2=VALUE2

Mediante este comando, se reemplazarán todas las marcas de bases de datos establecidas con anterioridad. Para conservarlas y agregar nuevas, incluye los valores de todas las marcas que desees configurar en la instancia. Cualquier marca que no esté incluida de forma explícita se establecerá con su valor predeterminado. Para marcas que no tomen un valor, especifica el nombre de la marca seguido por un signo igual (“=”).

Por ejemplo, para configurar las marcas 1204, remote access y remote query timeout (s), puedes usar el siguiente comando:

gcloud sql instances patch INSTANCE_NAME \
  --database-flags="1204"=on,"remote access"=on,"remote query timeout (s)"=300

Terraform

Para agregar marcas de base de datos, usa un recurso de Terraform.

resource "google_sql_database_instance" "instance" {
  name             = "sqlserver-instance-flags"
  region           = "us-central1"
  database_version = "SQLSERVER_2019_STANDARD"
  root_password    = "INSERT-PASSWORD-HERE"
  settings {
    database_flags {
      name  = "1204"
      value = "on"
    }
    database_flags {
      name  = "remote access"
      value = "on"
    }
    database_flags {
      name  = "remote query timeout (s)"
      value = "300"
    }
    tier = "db-custom-2-7680"
  }
  # set `deletion_protection` to true, will ensure that one cannot accidentally delete this instance by
  # use of Terraform whereas `deletion_protection_enabled` flag protects this instance at the GCP level.
  deletion_protection = false
}

Aplique los cambios

Para aplicar tu configuración de Terraform en un proyecto de Google Cloud, completa los pasos de las siguientes secciones.

Prepara Cloud Shell

  1. Inicia Cloud Shell
  2. Establece el proyecto de Google Cloud predeterminado en el que deseas aplicar tus configuraciones de Terraform.

    Solo necesitas ejecutar este comando una vez por proyecto y puedes ejecutarlo en cualquier directorio.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Las variables de entorno se anulan si configuras valores explícitos en el archivo de configuración de Terraform.

Prepara el directorio

Cada archivo de configuración de Terraform debe tener su propio directorio (también llamado módulo raíz).

  1. En Cloud Shell, crea un directorio y un archivo nuevo dentro de ese directorio. El nombre del archivo debe tener la extensión .tf, por ejemplo, main.tf. En este instructivo, el archivo se denomina main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Si sigues un instructivo, puedes copiar el código de muestra en cada sección o paso.

    Copia el código de muestra en el main.tf recién creado.

    De manera opcional, copia el código de GitHub. Esto se recomienda cuando el fragmento de Terraform es parte de una solución de extremo a extremo.

  3. Revisa y modifica los parámetros de muestra que se aplicarán a tu entorno.
  4. Guarda los cambios.
  5. Inicializa Terraform. Solo debes hacerlo una vez por directorio.
    terraform init

    De manera opcional, incluye la opción -upgrade para usar la última versión del proveedor de Google:

    terraform init -upgrade

Aplica los cambios

  1. Revisa la configuración y verifica que los recursos que creará o actualizará Terraform coincidan con tus expectativas:
    terraform plan

    Corrige la configuración según sea necesario.

  2. Para aplicar la configuración de Terraform, ejecuta el siguiente comando y, luego, escribe yes cuando se te solicite:
    terraform apply

    Espera hasta que Terraform muestre el mensaje “¡Aplicación completa!”.

  3. Abre tu proyecto de Google Cloud para ver los resultados. En la consola de Google Cloud, navega a tus recursos en la IU para asegurarte de que Terraform los haya creado o actualizado.

Borra los cambios

Para borrar tus cambios, haz lo siguiente:

  1. Para inhabilitar la protección contra la eliminación, en tu archivo de configuración de Terraform, establece el argumento deletion_protection en false.
    deletion_protection =  "false"
  2. Para aplicar la configuración actualizada de Terraform, ejecuta el siguiente comando y, luego, ingresa yes cuando se te solicite:
    terraform apply
  1. Quita los recursos que se aplicaron antes con tu configuración de Terraform a través de la ejecución del siguiente comando y, luego, ingresa yes cuando se te solicite:

    terraform destroy

REST v1

Si deseas configurar una marca para una base de datos existente, haz lo siguiente:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: el ID del proyecto
  • instance-id: Es el ID de la instancia.

Método HTTP y URL:

PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

Cuerpo JSON de la solicitud:

{
  "settings":
  {
    "databaseFlags":
    [
      {
        "name": "flag_name",
        "value": "flag_value"
      }
    ]
  }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Si hay marcas existentes configuradas para la base de datos, modifica el comando anterior a fin de incluirlas. El comando PATCH reemplaza las marcas existentes con las especificadas en la solicitud.

REST v1beta4

Si deseas configurar una marca para una base de datos existente, haz lo siguiente:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: el ID del proyecto
  • instance-id: Es el ID de la instancia.

Método HTTP y URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Cuerpo JSON de la solicitud:

{
  "settings":
  {
    "databaseFlags":
    [
      {
        "name": "flag_name",
        "value": "flag_value"
      }
    ]
  }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Si hay marcas existentes configuradas para la base de datos, modifica el comando anterior a fin de incluirlas. El comando PATCH reemplaza las marcas existentes con las especificadas en la solicitud.

Restablece los valores predeterminados de todas las marcas

Console

  1. En la consola de Google Cloud, selecciona el proyecto que contiene la instancia de Cloud SQL para la que deseas restablecer todas las marcas.
  2. Abre la instancia y haz clic en Editar.
  3. Abre la sección Marcas de base de datos.
  4. Haz clic en las X ubicadas junto a todas las marcas que se muestran.
  5. Haz clic en Guardar para guardar los cambios.

gcloud

Restablece todas las marcas a sus valores predeterminados en una instancia:

gcloud sql instances patch INSTANCE_NAME \
--clear-database-flags

Se te solicitará que confirmes que se reiniciará la instancia.

REST v1

Para borrar todas las marcas de una instancia existente, haz lo siguiente:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: el ID del proyecto
  • instance-id: Es el ID de la instancia.

Método HTTP y URL:

PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

Cuerpo JSON de la solicitud:

{
  "settings":
  {
    "databaseFlags": []
  }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

REST v1beta4

Para borrar todas las marcas de una instancia existente, haz lo siguiente:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: el ID del proyecto
  • instance-id: Es el ID de la instancia.

Método HTTP y URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Cuerpo JSON de la solicitud:

{
  "settings":
  {
    "databaseFlags": []
  }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Determina qué marcas de base de datos se configuraron para una instancia

Para ver qué marcas se configuraron para una instancia de Cloud SQL, sigue estos pasos:

Console

  1. En la consola de Google Cloud, selecciona el proyecto que contiene la instancia de Cloud SQL para la que deseas ver las marcas de base de datos que se configuraron.
  2. Selecciona la instancia para abrir la página de descripción general de la instancia.

    Las marcas de base de datos que se configuraron se enumeran en la sección Marcas de base de datos.

gcloud

Obtén el estado de la instancia:

gcloud sql instances describe INSTANCE_NAME

En el resultado, las marcas de base de datos se indican en settings como el grupo databaseFlags. Para obtener más información sobre la representación de las marcas en el resultado, consulta Representación de recursos de instancias.

REST v1

Para enumerar las marcas configuradas para una instancia, haz lo siguiente:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: el ID del proyecto
  • instance-id: Es el ID de la instancia.

Método HTTP y URL:

GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

En el resultado, busca el campo databaseFlags.

REST v1beta4

Para enumerar las marcas configuradas para una instancia, haz lo siguiente:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: el ID del proyecto
  • instance-id: Es el ID de la instancia.

Método HTTP y URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

En el resultado, busca el campo databaseFlags.

Marcas compatibles

Cloud SQL solo admite las marcas que se indican en esta sección.

Marca de Cloud SQL Tipo
Notas y valores aceptables
¿Reinicio
obligatorio?
1204 (marca de seguimiento) boolean
on|off
No
1222 (marca de seguimiento) boolean
on|off
No
1224 (marca de seguimiento) boolean
on|off
No
2528 (marca de seguimiento) boolean
on|off
No
3205 (marca de seguimiento) boolean
on|off
No
3226 (marca de seguimiento) boolean
on|off
No
3625 (marca de seguimiento) boolean
on|off
4199 (marca de seguimiento) boolean
on|off
No
4616 (marca de seguimiento) boolean
on|off
No
7806 (marca de seguimiento) boolean
on|off
recuento de depósitos de caché de verificación de acceso integer
0 … 65536
No
cuota de caché de verificación de acceso integer
0 … 2147483647
No
máscara de afinidad integer
2147483648 … 2147483647
No
agent xps boolean
on|off
No
soft-NUMA automático inhabilitado boolean
on|off
nombre del bucket de Cloud SQL XE string
El nombre del bucket debe comenzar con el prefijo gs://.
No
Tamaño total del disco de salida de Cloud SQL XE (MB) integer
10 ... 512
No
retención de archivos de cloud sql xe (min) integer
0 ... 10080
No
intervalo de carga de cloud sql xe (min) integer
1 ... 60
No
habilitar servidores vinculados en cloudsql boolean
on|off
No
umbral de costo para paralelismo integer
0 … 32767
No
autenticación de base de datos contenida boolean
on|off
No
encadenamiento de propiedad de la base de datos cruzada boolean
on | off
No
umbral del cursor integer
-1 … 2147483647
No
idioma de texto completo predeterminado integer
0 … 2147483647
No
Idioma predeterminado integer
0 ... 32
No
seguimiento predeterminado habilitado boolean
on|off
No
no permitir resultados de activadores boolean
on|off
No
secuencias de comandos externas habilitadas boolean
on|off
ancho de banda de rastreo (máx.) integer
0 … 32767
No
ancho de banda de rastreo (min.) integer
0 … 32767
No
ancho de banda de notificación (máx.) integer
0 … 32767
No
ancho de banda de notificación (min.) integer
0 … 32767
No
factor de relleno (%) integer
0 … 100
No
memoria para crear índice (kb) integer
704 … 2147483647
No
bloqueos integer
5000 … 2147483647
memoria máxima del servidor (mb) integer
1000 ... 2147483647
Cloud SQL puede establecer un valor para esta marca en las instancias, según los valores recomendados de Microsoft. Para obtener más información, consulta Marcas especiales.
No
tamaño máximo de la replicación de texto (b) integer
-1 … 2147483647
No
máximo de subprocesos de trabajador integer
128 … 65535
No
activadores anidados boolean
on|off
No
optimizar para cargas de trabajo ad hoc boolean
on|off
No
tiempo de espera de ph (s) integer
1 … 3600
No
límite de costo del controlador de búsquedas integer
0 … 2147483647
No
esperas de búsquedas (s) integer
-1 … 2147483647
No
intervalo de recuperación (min.) integer
0 … 32767
No
acceso remoto boolean
on|off
tiempo de espera de acceso remoto (s) integer
0 … 2147483647
No
tiempo de espera de búsqueda remota (s) integer
0 … 2147483647
No
transformar palabras irrelevantes boolean
on|off
No
corte anual de dos dígitos integer
1753 … 9999
No
conexiones de usuario integer
0, 10 ... 32767
opciones de usuario integer
0 … 32767
No

Marcas especiales

En esta sección, se incluye información adicional sobre las marcas de Cloud SQL para SQL Server.

max server memory (mb)

Esta marca limita la cantidad de memoria que Cloud SQL puede asignar para sus grupos internos. La recomendación general es establecer el valor de la marca en un 80% para evitar que SQL Server consuma toda la memoria disponible para la instancia de Cloud SQL. Si estableces un valor superior al 80%, es posible que experimentes inestabilidad, degradación del rendimiento y fallas de la base de datos debido a problemas de memoria insuficiente.

Si no estableces un valor para esta marca, Cloud SQL lo administrará automáticamente en función del tamaño de la RAM de tu instancia. Además, si cambias el tamaño de la instancia, Cloud SQL ajusta el valor de la marca automáticamente para cumplir con nuestras recomendaciones para el nuevo tamaño de la instancia. Esto garantiza que tu base de datos utilice los recursos de manera eficaz, lo que evita la sobreasignación, las fallas y la degradación del rendimiento de tu instancia.

Soluciona problemas

Problema Soluciona problemas
Quieres modificar la zona horaria de una instancia de Cloud SQL.

Para ver cómo actualizar la zona horaria de una instancia, consulta Configuración de instancias.

En Cloud SQL para SQL Server, puedes usar la función AT TIME ZONE para las conversiones de tiempo y más. Para obtener más información sobre esta función, consulta AT TIME ZONE (Transact-SQL).

¿Qué sigue?