Soluciona problemas de Cloud SQL para SQL Server

Dentro de los temas que se tratan en esta página, se incluyen los siguientes:

Copia de seguridad y recuperación

Haz clic en los vínculos de la tabla para obtener más información:

Situación Posible problema Solución
No se puede ver el estado actual de la operación. La interfaz de usuario solo muestra los estados que indican una finalización correcta o un error. Usa estos comandos de la base de datos para obtener más información.
No se puede encontrar el creador de la operación. La interfaz de usuario no muestra quién inició una operación. Usa el registro de auditoría para averiguarlo.
El disco se quedó sin espacio durante la generación de la copia de seguridad automática. La instancia alcanzó el límite de espacio en el disco duro. Verifica el tamaño y la cuota del sistema de archivos.
No se puede hacer una copia de seguridad después de borrar la instancia. Se borró la instancia. Recrea desde una exportación o comunícate con la asistencia al cliente si aún corre el período de gracia.
La copia de seguridad automática parece estar interrumpida. El tiempo de copia de seguridad se correlaciona con el tamaño de la base de datos. Comunícate con la asistencia al cliente si realmente necesitas cancelar la operación.
El restablecimiento falla. Es posible que el archivo de volcado contenga usuarios de la base de datos que aún no existen. Crea los usuarios de la base de datos antes de restablecerla.
La operación no es válida para esta instancia. El tamaño de la instancia de destino es menor que el de la instancia de origen. Aumenta el tamaño de la instancia de destino.
Aumenta la cantidad de días durante los cuales se conservarán las copias de seguridad automáticas. Solo se conservan siete copias de seguridad automáticas. Administra tus propias copias de seguridad manuales.
Se produjo un error desconocido en la copia de seguridad. Es posible que se haya agotado el tiempo de espera de la copia de seguridad. Obtén información sobre estas marcas.
No se recibe ninguna notificación sobre los errores de copias de seguridad. No se admiten notificaciones para los errores de copias de seguridad. Usa la API de REST o los comandos de gcloud para verificar el estado de una copia de seguridad.

No se puede ver el estado actual de la operación

No puedes ver el estado de una operación en Google Cloud Console.

Posible problema

Google Cloud Console solo informa si la operación se completó de forma correcta o si falló una vez que esta finaliza. Esta herramienta no está diseñada para mostrar advertencias.

Solución

Conéctate a la base de datos y ejecuta SHOW WARNINGS.


No se puede encontrar el creador de la operación

Quieres averiguar quién inició una operación de copia de seguridad bajo demanda.

Posible problema

La página de operaciones de instancias en Google Cloud Console no muestra quién inició una operación.

Solución

Busca en los registros y filtra por texto para encontrar al usuario. Es posible que debas usar registros de auditoría para obtener información privada. Los archivos de registro relevantes incluyen lo siguiente:

  • cloudsql.googleapis.com/sqlagent.out
  • cloudsql.googleapis.com/sqlserver.err
  • Si los registros de auditoría de Cloud están habilitados, es posible que cloudaudit.googleapis.com/activity también esté disponible.


No se puede hacer una copia de seguridad después de borrar la instancia

No puedes hacer una copia de seguridad después de borrar la instancia.

Posible problema

Se borró la instancia.

Solución

  • El período de gracia para borrar definitivamente instancias de Cloud SQL es de cuatro días. Durante este tiempo, la asistencia al cliente puede recrear la instancia. Una vez que las instancias se borran definitivamente, no es posible la recuperación de datos.
  • Si realizaste una exportación, puedes crear una instancia nueva y, luego, realizar una importación para volver a crear la base de datos. Las exportaciones se escriben en Cloud Storage y las importaciones se leen desde allí.

La copia de seguridad automática está interrumpida

La copia de seguridad automática se interrumpe durante muchas horas y no se puede cancelar.

Posible problema

Las copias de seguridad pueden llevar mucho tiempo según el tamaño de la base de datos.

Solución

Si en verdad necesitas cancelar la operación, puedes pedirle a la asistencia al cliente que realice una operación de force restart para la instancia.


Falla el restablecimiento desde una copia de seguridad

Una operación de restablecimiento puede fallar cuando uno o más usuarios a los que se hace referencia en el archivo de volcado de SQL no existen.

Posible problema

Antes de restablecer un archivo de volcado de SQL, deben existir todos los usuarios de la base de datos que posean objetos o que recibieron permisos sobre los objetos en la base de datos de volcado. Si este no es el caso, el restablecimiento no puede volver a crear los objetos con la relación de propiedad o los permisos originales.

Solución

Crea los usuarios de la base de datos antes de restablecer desde el archivo de volcado de SQL.


La operación no es válida para esta instancia

Verás el mensaje de error HTTP Error 400: This operation isn't valid for this instance de una llamada de la API a instances.restoreBackup.

Posible problema

No puedes restablecer a partir de una copia de seguridad de una instancia con un tamaño de almacenamiento (XX GB) menor que el tamaño de la copia de seguridad (YY GB).

Solución

Edita la instancia de destino para aumentar su tamaño de almacenamiento.


Aumenta la cantidad de días durante los cuales se conservarán las copias de seguridad automáticas

En la actualidad, puedes conservar las copias de seguridad automáticas durante siete días, pero quieres aumentar esa cantidad de días a treinta o más.

Posible problema

Solo se conservan siete copias de seguridad. Las copias de seguridad se descartan con frecuencia debido al costo y la ocupación de tamaño que implica conservarlas. Por desgracia, esto significa que solo puedes restablecer instancias a partir de las copias de seguridad automáticas que ves en la actualidad.

Solución

Si deseas conservar las copias de seguridad de forma indefinida, puedes crear una copia de seguridad a pedido, ya que ese tipo de copias de seguridad no se borra de la misma manera en que lo hacen las automáticas. Las copias de seguridad bajo demanda permanecen de forma indefinida. Es decir, permanecen hasta que se borran o se borra la instancia a la que pertenecen. Dado que ese tipo de copia de seguridad no se borra de forma automática, es posible que afecte la facturación.


Se produjo un error desconocido en la copia de seguridad

Se produjo un error en la copia de seguridad y se muestra Unknown error.

Posible problema

La creación de la copia de seguridad alcanzó el tiempo de espera.

Solución

Hay dos marcas que influyen en la creación de la copia de seguridad: checkpoint_timeout y checkpoint_completion_target. Al comienzo de la copia de seguridad, se ejecuta un punto de control slow y se multiplica checkpoint_completion_target por checkpoint_timeout.

Por ejemplo, 900 sec * 0.9 sec = 810 sec = 13.5 min. Por este motivo, se agota el tiempo de espera. Cuando se disminuye el valor de checkpoint_completion_target, se soluciona el problema en este caso.

No se recibe ninguna notificación sobre los errores de copias de seguridad

Se produjo un error en la copia de seguridad automática y no recibiste ninguna notificación por correo electrónico.

Posible problema

No se admiten notificaciones para los errores de copias de seguridad.

Cuando falla una copia de seguridad automática, aparece un mensaje Operation error en la página Details de la instancia de Cloud SQL.

Solución

Puedes encontrar el estado de una copia de seguridad a través de los comandos de la API de REST o de gcloud. Por ejemplo, primero enumera las copias de seguridad de una instancia y, luego, describe una copia de seguridad específica por su ID:

gcloud sql --project=PROJECT_ID backups list --instance=INSTANCE_ID
gcloud sql --project=PROJECT_ID backups describe BACKUP-ID --instance=INSTANCE_ID

Conectividad

Haz clic en los vínculos de la tabla para obtener más información:

Situación Posible problema Solución
Se generan errores Unauthorized to connect. Puede haber muchas causas principales. Consulta estas alternativas para solucionarlo.
No se pudo asociar la red. Service Networking API no está habilitada en el proyecto. Habilita Service Networking API en el proyecto.
Remaining connection slots are reserved. Se alcanzó la cantidad máxima de conexiones. Aumenta la marca max_connections.
Set Service Networking service account as servicenetworking.serviceAgent role on consumer project. La cuenta de servicio de Service Networking no está vinculada a la función servicenetworking.serviceAgent. Vincula la cuenta de servicio de Service Networking a la función servicenetworking.serviceAgent.
error x509: certificate is not valid for any names, but wanted to match project-name:db-name. Problema conocido: En este momento, el marcador del proxy de Cloud SQL no es compatible con Go 1.15. Hasta que este problema se corrija, consulta este debate en GitHub, en el que se incluye una solución alternativa.
No se pueden analizar los certificados en algunos sistemas operativos. Es posible que los clientes que usan bibliotecas x509 de mac OS 11.0 (Big Sur) no puedan analizar algunos certificados de las instancias de sqlserver. Es posible que se muestre al cliente como un error genérico, como “cancelado”. La solución alternativa es rotar el certificado de servidor y volver a crear los certificados de cliente.
Cannot modify allocated ranges in CreateConnection. Please use UpdateConnection. Los intercambios de tráfico de VPC no se actualizaron después de modificar o quitar un rango asignado. Consulta estas alternativas para solucionarlo a fin de obtener información detallada sobre la actualización del intercambio de tráfico de VPC.
Allocated IP range not found in network. Los intercambios de tráfico de VPC no se actualizaron después de modificar o quitar un rango asignado. Consulta estas alternativas para solucionarlo a fin de obtener información detallada sobre la actualización del intercambio de tráfico de VPC.
ERROR: (gcloud.sql.connect) It seems your client does not have ipv6 connectivity and the database instance does not have an ipv4 address. Please request an ipv4 address for this database instance.. Intentas conectarte a tu instancia de IP privada con Cloud Shell. Por el momento, no se admite la conexión desde Cloud Shell a una instancia con solo una dirección IP privada.

Conexión anulada

Verás el mensaje de error Got an error reading communication packets o Aborted connection xxx to db: DB_NAME.

Posible problema

  • Hay inestabilidad en las herramientas de redes.
  • No hay respuesta a los comandos keep-alive de TCP (el cliente o el servidor no responden, es posible que estén sobrecargados).
  • Se excedió el ciclo de vida de la conexión del motor de base de datos y el servidor finalizó la conexión.

Solución

Las aplicaciones deben tolerar fallas de red y seguir prácticas recomendadas, como la agrupación de conexiones y los reintentos. La mayoría de los agrupadores de conexiones detectan estos errores siempre que sea posible. De lo contrario, la aplicación debe reintentar o fallar de manera controlada.

Para los reintentos de conexión, recomendamos los siguientes métodos:

  1. Realiza una retirada exponencial. Aumenta el intervalo de tiempo entre cada reintento de manera exponencial.
  2. Agrega una retirada aleatoria.
La combinación de estos métodos ayuda a reducir la limitación.


No estás autorizado para establecer la conexión

Verás el mensaje de error Unauthorized to connect.

Posible problema

Puede haber muchas causas, ya que la autorización ocurre en muchos niveles.

  • A nivel de la base de datos, el usuario de la base de datos debe existir y su contraseña debe coincidir.
  • A nivel del proyecto, es posible que el usuario no tenga los permisos de IAM correctos.
  • A nivel de Cloud SQL, es posible que la causa principal dependa de cómo te conectes a tu instancia. Si te conectas directamente a una instancia a través de la IP pública, la IP de origen de la conexión debe estar en la red autorizada de la instancia.

    La conectividad de IP privada está permitida de forma predeterminada, excepto cuando te conectas desde una dirección que no es RFC 1918. Las direcciones de clientes que no son RFC 1918 deben configurarse como redes autorizadas.

    De forma predeterminada, Cloud SQL no procesa rutas de subred de tu VPC que no son RFC 1918. Debes actualizar el intercambio de tráfico entre redes a Cloud SQL para exportar cualquier ruta que no sea RFC 1918. Por ejemplo:

    gcloud compute networks peerings update cloudsql-mysql-googleapis-com --network=NETWORK --export-subnet-routes-with-public-ip --project=PROJECT
    

    Si te conectas a través del proxy de autenticación de Cloud SQL, asegúrate de que los permisos de IAM estén configurados de forma correcta.

  • A nivel de red, si la instancia de Cloud SQL usa una IP pública, la IP de origen de la conexión debe estar en una red autorizada.

Solución

  • Verifica el nombre de usuario y la contraseña.
  • Verifica las funciones y los permisos de IAM del usuario.
  • Si usas una IP pública, asegúrate de que el origen esté en las redes autorizadas.

No se pudo asociar la red

Verás el mensaje de error Error: Network association failed due to the following error: configura la cuenta de servicio de las Herramientas de redes de servicios con la función servicenetworking.serviceAgent en el proyecto consumidor.

Posible problema

La Service Networking API no está habilitada en el proyecto.

Solución

Habilita la Service Networking API en tu proyecto. Si ves este error cuando intentas asignar una dirección IP privada a una instancia de Cloud SQL y usas una VPC compartida, también debes habilitar la Service Networking API para el proyecto host.


Las ranuras de conexión restantes están reservadas

Verás el mensaje de error FATAL: remaining connection slots are reserved for non-replication superuser connections.

Posible problema

Se alcanzó la cantidad máxima de conexiones.

Solución

Edita el valor de la marca max_connections.


Configura la cuenta de servicio de las Herramientas de redes de servicios como servicenetworking.serviceAgent en el proyecto del consumidor

Verás el mensaje de error set Service Networking service account as servicenetworking.serviceAgent role on consumer project..

Posible problema

La cuenta de servicio de Service Networking no está vinculada a la función servicenetworking.serviceAgent.

Solución

A fin de mitigar este problema, intenta usar estos comandos de gcloud para vincular la cuenta de servicio de Service Networking a la función servicenetworking.serviceAgent.

gcloud beta services identity create --service=servicenetworking.googleapis.com --project=PROJECT_ID
gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:service-PROJECT_NUMBER@service-networking.iam.gserviceaccount.com" --role="roles/servicenetworking.serviceAgent"

Error x509: el certificado no es válido para ningún nombre

Verás el mensaje de error error x509: certificate is not valid for any names, but wanted to match project-name:db-name.

Posible problema

Problema conocido: En este momento, el marcador del proxy de Cloud SQL no es compatible con Go 1.15.

Solución

Hasta que este error se corrija, consulta este debate en GitHub, en el que se incluye una solución alternativa.


No se pueden analizar los certificados en algunos sistemas operativos

Cuando usas bibliotecas x509 de mac OS 11.0 (Big Sur), es posible que no se analicen los certificados de las instancias de sqlserver. Esto puede aparecer como un error genérico, como “cancelado”.

Solución

El error se corrigió y las nuevas instancias no presentarán este problema. En el caso de las instancias antiguas con este problema, rota el certificado de servidor y vuelve a crear los certificados de cliente.


No se pueden modificar los rangos asignados en CreateConnection. Usa UpdateConnection

Verás el mensaje de error Cannot modify allocated ranges in CreateConnection. Please use UpdateConnection o The operation "operations/1234" resulted in a failure "Allocated IP range 'xyz' not found in network.

Posible problema

El primer error se produce cuando intentas establecer una conexión de nuevo con un rango reservado diferente.

El segundo error aparece cuando se modificó el rango asignado, pero vpc-peerings no se actualizó.

Solución

Debes modificar la conexión privada. Usa el siguiente comando y asegúrate de usar el argumento --force:

gcloud services vpc-peerings update --network=VPC_NETWORK --ranges=ALLOCATED_RANGES --service=servicenetworking.googleapis.com --force

Crea instancias

Haz clic en los vínculos de la tabla para obtener más información:

Situación Posible problema Solución
Internal error. Falta la cuenta de servicio de herramientas redes de servicios. Inhabilita y vuelve a habilitar Service Networking API.
La creación de la instancia de Terraform falla. Hay un error en la configuración de Terraform. Inspecciona y repara el archivo de configuración de Terraform.
HTTP Error 409 en la secuencia de comandos de Terraform. Ya hay otra operación en curso. Corrige la secuencia de comandos de Terraform para que espere a que finalice cada operación.
Unknown error

Es posible que la API de Service Networking no esté habilitada.

Es posible que estés intentando crear una instancia con el mismo nombre de una que se borró recientemente.

Es posible que estés intentando crear varias instancias a la vez.

Es posible que la creación de tu subred falle si no hay más direcciones disponibles en el rango de IP.

Habilita la API de Service Networking.

Usa un nombre diferente para la instancia o espera hasta que haya pasado una semana desde el momento en que se borró la otra instancia.

Crea instancias consecutivas.

Consulta otros mensajes de Error desconocido si no coinciden con tu caso.

Asigna rangos nuevos.

Failed to create subnetwork. No hay más direcciones disponibles en el rango de IP. Asigna rangos nuevos.

Error interno

Verás el mensaje de error {"ResourceType":"sqladmin.v1beta4.instance", "ResourceErrorCode":"INTERNAL_ERROR","ResourceErrorMessage":null}.

Posible problema

Es probable que al proyecto de servicio le falte la cuenta de servicio de herramientas de redes de servicios requerida para esta función.

Solución

Para reparar los permisos del servicio, inhabilita la Service Networking API, espera cinco minutos y vuelve a habilitarla.


La creación de la instancia de Terraform falla

La creación de la instancia de Terraform falla.

Posible problema

Por lo general, este es un problema propio de la secuencia de comandos de Terraform.

Solución

Inspecciona y repara el archivo de configuración de Terraform.


Error 409 en la secuencia de comandos de Terraform

Verás el mensaje de error HTTP Error 409 en las secuencias de comandos de Terraform.

Posible problema

Operation failed because another operation was already in progress

Solución

Revisa la secuencia de comandos para detener la ejecución hasta que se complete cada operación de instancia. Sondea la secuencia de comandos y espera hasta que se muestre un estado 200 para el ID de la operación anterior antes de continuar con el siguiente paso.


Error desconocido

Cuando intentas crear una instancia, ves un mensaje de error como Cloud SQL creation failed, error UNKNOWN.

Posible problema

  • Es posible que la API de Service Networking habilitada no esté habilitada.
  • Puede que estés intentando volver a usar el nombre de una instancia que borraste recientemente. Los nombres de las instancias no se pueden volver a usar durante una semana después de la eliminación.
  • Es posible que estés intentando crear varias instancias a la vez. En este caso, solo se crea la primera instancia y el resto falla con Unknown error. Solo puedes ejecutar una operación de creación a la vez.
  • Es posible que la creación de tu subred falle si no había más direcciones disponibles en el rango de IP.

Solución

  • Habilita la API de Service Networking.
  • Usa un nombre diferente para la instancia o espera una semana a fin de crear una nueva con ese nombre.
  • Crea varias instancias consecutivamente, en lugar de hacerlo en simultáneo.
  • Consulta debajo la sección No se pudo crear la subred.

No se pudo crear la subred

Recibes el siguiente mensaje de error: Failed to create subnetwork. Couldn't find free blocks in allocated IP ranges. Please allocate new ranges for this service provider.

Posible problema

No hay más direcciones disponibles en el rango de IP asignado.

Si encuentras este error cuando intentas crear una instancia de Cloud SQL con una IP privada en una red de VPC compartida mediante conexiones privadas a servicios, hay cinco situaciones posibles:

  • El tamaño del rango de IP asignado para la conexión privada a servicios es menor que /24.
  • El tamaño del rango de IP asignado para la conexión privada a servicios es demasiado pequeño para la cantidad de instancias de Cloud SQL.
  • Intentas crear instancias de MySQL o SQL Server y PostgreSQL en la misma conexión privada a servicios del proyecto host de VPC. MySQL y SQL Server pueden compartir la misma conexión de servicio. PostgreSQL requiere su propia conexión de servicio.
  • Intentas crear instancias en la misma conexión privada a servicios en diferentes regiones, lo cual no es compatible.

Solución

Para cada una de las situaciones anteriores, puedes optar por expandir o asignar un rango de IP adicional a la conexión privada a servicios.

Si asignas un nuevo rango, ten cuidado de no crear una asignación que se superponga con cualquier asignación existente.

Después de crear un nuevo rango de IP, actualiza el intercambio de tráfico de VPC con el siguiente comando:

gcloud services vpc-peerings update --service=servicenetworking.googleapis.com
--ranges=[OLD_RESERVED_RANGE_NAME],[NEW_RESERVED_RANGE_NAME] --network=[VPC_NETWORK]
--project=[PROJECT_ID] --force

Si expandes una asignación existente, asegúrate de aumentar solo el rango de asignación y no disminuirlo. Por ejemplo, si la asignación original era 10.0.10.0/24, realiza la nueva asignación de 10.0.10.0/23 como mínimo.

En general, si empiezas desde una asignación /24, disminuir la /mask en 1 para cada condición (grupo adicional de tipos de instancias, región adicional) es una buena regla general. Por ejemplo, si intentas crear ambos grupos de tipos de instancias en la misma asignación, pasar de /24 a /23 es suficiente.

Después de expandir un rango de IP existente, actualiza el intercambio de tráfico de VPC con el siguiente comando:

gcloud services vpc-peerings update --service=servicenetworking.googleapis.com
--ranges=[RESERVED_RANGE_NAME] --network=[VPC_NETWORK] --project=[PROJECT_ID]

Alta disponibilidad

Haz clic en los vínculos de la tabla para obtener más información:

Situación Posible problema Solución
No se pueden encontrar métricas para la conmutación por error manual. Solo las conmutaciones por error automáticas se incluyen en las métricas. No disponible.
La CPU y la RAM tienen un uso de alrededor del 100%. El tamaño de la máquina de la instancia es demasiado pequeño para la carga. Actualiza el tamaño de la máquina de la instancia.

No se pueden encontrar métricas para la conmutación por error manual

Realizaste una conmutación por error manual y no puedes encontrar una entrada correspondiente en la sección de las métricas de conmutación por error automática del Explorador de métricas.

Posible problema

Solo las conmutaciones por error automáticas se incluyen en las métricas. Las conmutaciones por error que se iniciaron de forma manual no se incluyen.

Solución

No disponible.


La CPU y la RAM tienen un uso de alrededor del 100%

Los recursos de la instancia de Cloud SQL (CPU y RAM) tienen un uso de alrededor del 100%, lo que hace que se interrumpa el funcionamiento de la instancia con alta disponibilidad.

Posible problema

El tamaño de la máquina de la instancia es demasiado pequeño para la carga.

Solución

Edita la instancia para actualizarla a un tamaño de máquina más grande y obtener más CPU y memoria.

Importar

Haz clic en los vínculos de la tabla para obtener más información:

Situación Posible problema Solución
La importación está tomando demasiado tiempo. Hay demasiadas conexiones activas que pueden interferir en las operaciones de importación. Cierra las conexiones sin usar o reinicia la instancia de Cloud SQL antes de comenzar una operación de importación.
La importación falla. El archivo exportado puede contener usuarios de la base de datos que aún no existen. Limpia la base de datos errónea antes de reintentar la importación. Crea los usuarios de la base de datos antes de realizar la importación.

La importación está tomando demasiado tiempo

La importación está tardando demasiado y está bloqueando otras operaciones.

Posible problema

Hay demasiadas conexiones activas que pueden interferir en las operaciones de importación. Las conexiones consumen CPU y memoria, lo que limita los recursos disponibles.

Solución

Cierra las operaciones sin usar. Verifica el uso de la memoria y la CPU para asegurarte de que haya una gran cantidad de recursos disponibles. La mejor manera de garantizar la cantidad máxima de recursos para la operación de importación es reiniciar la instancia antes de comenzar la operación. Cuando se realiza un reinicio, sucede lo siguiente:

  • Se cierran todas las conexiones.
  • Finaliza cualquier tarea que pueda consumir recursos.


La importación falla

La importación falla cuando uno o más usuarios a los que se hace referencia en el archivo de volcado de SQL exportado no existen.

Posible problema

Antes de importar un archivo de volcado de SQL, deben existir todos los usuarios de la base de datos que poseen objetos o que recibieron permisos sobre los objetos en la base de datos de volcado. Si este no es el caso, el restablecimiento no puede volver a crear los objetos con la relación de propiedad o los permisos originales.

Solución

Limpia la base de datos errónea antes de reintentar la importación. Crea los usuarios de la base de datos antes de importar el archivo de volcado de SQL.


Exportar

Haz clic en los vínculos de la tabla para obtener más información:

Situación Posible problema Solución
No se puede ver el estado de la operación. La interfaz de usuario solo muestra los estados que indican una finalización correcta o un error. Usa estos comandos de la base de datos para obtener más información.
Se interrumpió la conexión durante la operación de exportación. La consulta debe generar datos dentro de los primeros siete minutos. Prueba la consulta de forma manual. Más información.
Se produjo un error desconocido durante la exportación. Es posible que haya un problema con el ancho de banda. Asegúrate de que la instancia y el depósito de Cloud Storage estén en la misma región.
Deseas automatizar las exportaciones. Cloud SQL no proporciona una forma de automatizar las exportaciones. Compila tu propia canalización para llevar a cabo esta función. Más información

No se puede ver el estado de la operación

No puedes ver el estado de una operación en curso.

Posible problema

Google Cloud Console solo informa si la operación se completó de forma correcta o si falló una vez que esta finaliza. Esta herramienta no está diseñada para mostrar advertencias.

Solución

Conéctate a la base de datos y ejecuta SHOW WARNINGS.


Se interrumpió la conexión durante la operación de exportación

Se interrumpió la conexión durante la operación de exportación.

Posible problema

Es posible que el tiempo de espera de la conexión a Cloud Storage se esté agotando porque la consulta que se ejecutó en la exportación no produjo ningún dato en los primeros siete minutos desde que se inició la exportación.

Solución

Para probar la consulta de forma manual, conéctate desde cualquier cliente y envía el resultado de tu consulta a STDOUT con el siguiente comando:

COPY (INSERT_YOUR_QUERY_HERE) TO STDOUT WITH ( FORMAT csv, DELIMITER ',', ENCODING 'UTF8', QUOTE '"', ESCAPE '"' ).

Este es el comportamiento previsto, ya que, cuando se inicia la exportación, se espera que el cliente comience a enviar datos de inmediato. Si se mantiene la conexión sin datos enviados, esta termina interrumpiéndose y, finalmente, la exportación falla, lo que deja a la operación en un estado incierto. Esto es lo que el siguiente mensaje de error de gcloud intenta comunicar:

operation is taking longer than expected.


Error desconocido durante la exportación

Verás el mensaje de error Unknown error mientras intentas exportar una base de datos a un depósito de Cloud Storage.

Posible problema

Es posible que la transferencia esté fallando debido a un problema de ancho de banda.

Es posible que la instancia de Cloud SQL esté ubicada en una región diferente a la del depósito de Cloud Storage. Leer y escribir datos de un continente a otro implica mucho uso de la red y puede causar problemas intermitentes como este. Verifica las regiones de la instancia y el bucket.

Solución

Acerca el bucket de Cloud Storage a la instancia de Cloud SQL. Ejecuta la operación cuando la actividad sea menor.

Deseas automatizar las exportaciones

Deseas automatizar las exportaciones.

Posible problema

Cloud SQL no proporciona una forma de automatizar las exportaciones.

Solución

Podrías compilar tu propio sistema de exportación automatizado mediante el uso de productos de Google Cloud, como Cloud Scheduler, Pub/Sub y Cloud Functions.


Se produjo el error del sistema ERROR_RDBMS

Verás el mensaje de error [ERROR_RDBMS] system error occurred.

Posible problema

  • Es posible que el usuario no tenga todos los permisos de Cloud Storage que necesita.
  • Es posible que la tabla de la base de datos no exista.

Solución

  1. Verifica que tengas al menos los permisos WRITER en el depósito y los permisos READER en el archivo de exportación. Para obtener más información sobre cómo configurar el control de acceso en Cloud Storage, consulta Crea y administra Listas de control de acceso.
  2. Asegúrate de que la tabla exista. Si la tabla existe, confirma que tienes los permisos adecuados en el depósito.

Registro

Haz clic en los vínculos de la tabla para obtener más información:

Situación Posible problema Solución
El registro usa mucha memoria y CPU. El uso de recursos para el registro debe ajustarse. Intenta ajustar el uso de recursos para el registro.
No se encuentran los registros de auditoría. Autenticación de usuarios. Verifica las funciones y los permisos de los usuarios.
No se encontró información de operaciones en los registros. Los registros de auditoría no están habilitados. Habilita el registro de auditoría.
Los archivos de registro son difíciles de leer Prefiere que los registros aparezcan como json o de texto. Usa los comandos gcloud logging.

El registro usa mucha memoria y CPU

El registro usa mucha memoria y CPU.

Posible problema

El uso de recursos para el registro debe ajustarse.

Solución

La marca log_statement se puede establecer en “ninguna” y la marca logging_collector se puede desactivar. Si el registro continúa, es posible que haya otras marcas relacionadas con el registro que se pueden ajustar. Puedes editar la instancia para modificar estas marcas.


Registro de auditoría

Activaste el registro de auditoría para Cloud SQL, pero no puedes encontrar ningún registro de auditoría en Cloud Logging.

Posible problema

Los registros de acceso a datos solo se escriben si la operación es una llamada a la API controlada por el usuario y autenticada que crea, modifica o lee datos creados por el usuario, o si la operación accede a metadatos o archivos de configuración de recursos.

Solución

Verifica las funciones y los permisos del usuario que realiza las operaciones.


No se encontró información sobre una operación en los registros

Deseas encontrar más información sobre una operación. Por ejemplo, se borró un usuario, pero no puedes averiguar quién lo hizo. Los registros muestran que la operación inició, pero no proporcionan más información.

Posible problema

Debes habilitar el registro de auditoría para que se registre este tipo de información de identificación personal (PII) detallada.

Solución

Habilita el registro de auditoría en el proyecto.


Los archivos de registro son difíciles de leer

Te resulta difícil leer los registros en el Explorador de registros.

Posible problema

Prefiere descargar los registros localmente en formato JSON o de texto.

Solución:

Puedes usar el comando gcloud logging read junto con los comandos de posprocesamiento de Linux para descargar los registros.

Para descargarlos como JSON, haz lo siguiente:

gcloud logging read "resource.type=cloudsql_database AND logName=projects/PROJECT-ID/logs/cloudsql.googleapis.com%2FLOGFILE-NAME" --format json --project=PROJECT-ID--freshness="1d" > downloaded-log.json

Para descargarlos como TEXT, haz lo siguiente:

gcloud logging read "resource.type=cloudsql_database AND logName=projects/PROJECT-ID/logs/cloudsql.googleapis.com%2FLOGFILE-NAME" --format json --project=PROJECT-ID--freshness="1d"| jq -rnc --stream 'fromstream(1|truncate_stream(inputs)) | .textPayload' > downloaded-log.txt


Administra instancias

Haz clic en los vínculos de la tabla para obtener más información:

Situación Posible problema Solución
El almacenamiento temporal aumentó el almacenamiento automático. El almacenamiento automático está habilitado. El proceso de reinicio borra los archivos temporales, pero no reduce el almacenamiento. Solo la asistencia al cliente puede restablecer el tamaño de la instancia. Más información.
Los datos se borran de manera automática. Hay una secuencia de comandos en ejecución que ocasiona esto. Intenta encontrar la secuencia de comandos.
No se puede borrar la instancia. Puede haber más de una causa principal. Puede haber más de una solución.
La instancia está interrumpida debido al gran tamaño de los datos temporales. Se crearon demasiadas tablas temporales a la vez. Reinicia la instancia y prueba esta opción de mitigación.
Se produjo un error grave durante la actualización. Puede haber muchas causas. Los registros pueden revelar más. Es posible que debas comunicarte con la asistencia al cliente para forzar un reinicio.
La instancia se interrumpe cuando se reinicia después de quedarse sin espacio en el disco. La función de aumento del almacenamiento automático no está habilitada. Habilita el aumento del almacenamiento automático.
El proceso de apagado es lento durante el reinicio. Las conexiones pendientes que no finalizan después de 60 segundos pueden causar cierres poco claros. Usa solo conexiones que duran menos de 60 segundos.
Access denied for user. Hubo problemas con la autenticación del usuario o puede que los certificados SSL/TLS estén vencidos. Verifica los estados de usuario y certificado.
No se puede borrar un usuario. Es posible que el usuario posea objetos en la base de datos. Es posible que debas descartar o reasignar objetos.
No se puede asignar una dirección IP privada a una instancia existente en una VPC compartida. Las direcciones de las instancias se vinculan a sus proyectos en el momento de su creación. Crea una instancia nueva de Cloud SQL para reemplazar la existente.
Hay consultas específicas que se ejecutan con lentitud. Problemas específicos de la base de datos o latencia de red. Consulta estas sugerencias.
Se indica que hay falta de memoria, pero esto no se muestra en los gráficos de supervisión. Es posible que los procesos de sobrecarga interna usen parte de la RAM. Asegúrate de que la instancia tenga suficiente sobrecarga para tu carga de trabajo.
Recupera una instancia borrada. Cuando se borra una instancia, todos sus datos, incluidas las copias de seguridad, se pierden de forma permanente. Evita la pérdida de datos mediante la exportación a Cloud Storage.
Cambia el nombre de una instancia de Cloud SQL existente. No se admite el cambio de nombre de una instancia existente. Existen dos maneras de alcanzar el objetivo mediante la creación de una instancia nueva.


El almacenamiento temporal aumentó el almacenamiento automático

Las tablas temporales aumentaron el uso de almacenamiento, y, como resultado, aumentó el almacenamiento automático.

Posible problema

El almacenamiento automático está habilitado.

Solución

Si se realiza una operación de reinicio para borrar tablas temporales, no se reduce el tamaño de almacenamiento que aumentó de forma automática.


Los datos se borran de forma automática

Notas que los datos se borran de forma automática a intervalos regulares.

Posible problema

Lo más probable es que se esté ejecutando una secuencia de comandos en algún lugar de tu entorno.

Solución

Revisa los registros correspondientes al momento de la eliminación y verifica si hay una secuencia de comandos sospechosa en ejecución desde un panel o algún otro proceso automatizado.


No se puede borrar la instancia

Verás el mensaje de error ERROR: (gcloud.sql.instances.delete) HTTP Error 409: The instance or operation is not in an appropriate state to handle the request, o la instancia puede tener un estado de la marca INSTANCE_RISKY_FLAG_CONFIG.

Posible problema

  1. Hay otra operación en curso.
  2. La advertencia INSTANCE_RISKY_FLAG_CONFIG se activa cada vez que se usa al menos una marca beta.

Solución

  1. Las operaciones de Cloud SQL no se ejecutan en simultáneo. Espera a que se complete la otra operación.
  2. Quita la configuración de marca riesgosa y reinicia la instancia.

El sistema está interrumpido debido al gran tamaño de los datos temporales

El sistema está interrumpido debido al gran tamaño de los datos temporales.

Posible problema

El sistema puede crear muchas tablas temporales a la vez, según las consultas y la carga.

Solución

Por desgracia, no puedes reducir el archivo ibtmp1 con ningún otro método que no sea reiniciar el servicio.

Una opción de mitigación es crear la tabla temporal con ROW_FORMAT=COMPRESSED, de modo que se almacene en espacios de tablas del tipo “archivo por tabla” en el directorio de archivos temporales. Sin embargo, la desventaja son los costos de rendimiento asociados con la creación y eliminación de un espacio de tabla del tipo “archivo por tabla” para cada tabla temporal.


Error grave durante la actualización

Verás el mensaje de error ERROR_INTERNAL_FATAL cuando actualices recursos en una instancia.

Posible problema

Puede haber muchas causas.

Solución

Los registros pueden revelar más, pero, de todos modos, es posible que se necesite la asistencia al cliente para forzar la recreación de la instancia.


La instancia se interrumpe cuando se reinicia después de quedarse sin espacio en el disco

La instancia se interrumpe cuando se reinicia después de quedarse sin espacio en el disco

Posible problema

La función de aumento del almacenamiento automático no está habilitada.

Solución

Si la instancia se queda sin almacenamiento y la capacidad de aumento de almacenamiento automático no está habilitada, tu instancia se desconecta. Para evitar este problema, puedes editar la instancia a fin de habilitar el aumento de almacenamiento automático.



El proceso de apagado es lento durante el reinicio

El proceso de apagado es lento durante el reinicio.

Posible problema

Cuando una instancia se cierra, cualquier conexión pendiente que no finalice en 60 segundos hace que el cierre sea poco claro.

Solución

Si solo se usan conexiones que duran menos de 60 segundos, se pueden evitar la mayoría de los apagados inestables, incluidas las conexiones del símbolo del sistema de la base de datos. Si mantienes estas conexiones activas durante horas o días, es posible que los procesos de apagado sean inestables.


Se denegó el acceso al usuario

Verás el mensaje de error Access denied for user 'XXX'@'XXX' (using password: XXX).

Posible problema

Puede haber varias causas principales. Algunas de ellas son las siguientes:

  • El nombre de usuario o la contraseña son incorrectos.
  • El usuario se está conectando desde una alternativa diferente de @XXX.
  • El usuario no tiene los privilegios adecuados para la base de datos a la que intenta conectarse.

Solución

  • Verifica el nombre de usuario y la contraseña correspondiente.
  • Verifica el origen de la conexión para ver si coincide con el lugar en el que se le otorgaron privilegios de acceso al usuario.
  • Verifica los privilegios de otorgados al usuario en la base de datos.

No se puede borrar un usuario

No puedes borrar un usuario de la base de datos.

Posible problema

El usuario tiene objetos que dependen de él en la base de datos. Primero debes descartar esos objetos o reasignarlos a otro usuario.

Solución

Averigua qué objetos dependen del usuario y, luego, descártalos o reasígnalos a un usuario diferente. En esta conversación de Stack Exchange, se explica cómo encontrar los objetos que son propiedad del usuario.


No puedes asignar una dirección IP privada a una instancia existente en una VPC compartida

No puedes asignar una dirección IP privada a una instancia existente en una VPC compartida..

Posible problema

El motivo es que, cuando se crea una instancia de Cloud SQL, se conecta a un proyecto de usuario de forma automática, al igual que todas las instancias de Cloud SQL en ese mismo proyecto. Sin embargo, cuando la instancia creada usa una IP privada en una VPC compartida, se conecta al proyecto de usuario asociado con el proyecto host de la VPC compartida.

Solución

Puedes crear una instancia de Cloud SQL nueva para reemplazar la existente.


Hay consultas específicas que se ejecutan con lentitud

El uso de CPU se mantiene alto.

Posible problema

Las consultas pueden ser lentas por muchos motivos, la mayoría relacionados con aspectos específicos de la base de datos. Un motivo que puede involucrar a Cloud SQL es la latencia de red, cuando el recurso de origen (escritor o lector) y el recurso de destino (Cloud SQL) están en diferentes regiones.

Solución

Consulta las sugerencias para un mejor rendimiento general, en particular, las siguientes:

Para inserciones, actualizaciones o eliminaciones lentas de la base de datos, considera las siguientes acciones:

  • Verifica las ubicaciones del escritor y de la base de datos. El envío de datos a larga distancia provoca latencia.
  • Verifica la ubicación del lector y de la base de datos. La latencia afecta el rendimiento de la lectura, incluso más que el de la escritura.
Para reducir la latencia, se recomienda ubicar los recursos de origen y de destino en la misma región.


Se indica que hay falta de memoria, pero esto no se muestra en los gráficos de supervisión

Una instancia falla y, luego, informa Out of memory, pero los gráficos de Console o Cloud Monitoring muestran que todavía hay memoria restante.

Posible problema

Existen otros factores que pueden afectar el uso de memoria además de la carga de trabajo, como la cantidad de conexiones activas y los procesos de sobrecarga interna. Esto no siempre se refleja en los gráficos de supervisión.

Solución

Asegúrate de que la instancia tenga suficiente sobrecarga para cubrir la carga de trabajo y algo de sobrecarga adicional.


Recupera una instancia borrada

Si la instancia se borra de forma intencional o por accidente, no puedes recuperarla.

Posible problema

Cuando se borra una instancia, todos sus datos, incluidas las copias de seguridad, se pierden de forma permanente.

Solución

Para conservar tus datos, expórtalos a Cloud Storage antes de borrar una instancia.

La función de administrador de Cloud SQL incluye el permiso para borrar la instancia. Para evitar la eliminación accidental, otorga esta función solo cuando sea necesario.


Cambiar el nombre de una instancia de Cloud SQL existente

Por motivos comerciales o de otro tipo, es posible que desees cambiar el nombre de una instancia de Cloud SQL existente.

Posible problema

No se admite el cambio de nombre de una instancia en Google Cloud Console ni a través de una API.

Solución

Hay otras formas de lograr el objetivo mediante la creación de una instancia nueva.

  1. Puedes clonar la instancia que deseas renombrar y establecer un nombre nuevo para la instancia clonada. Esto te permite crear la instancia nueva sin tener que importar datos de forma manual. Al igual que cuando se crea una instancia nueva, la instancia clonada tiene una dirección IP nueva.

  2. Puedes exportar datos de tu instancia a un depósito de Cloud Storage, crear una instancia nueva con el nombre nuevo que desees y, luego, importar los datos en la instancia nueva.

En ambos casos, puedes borrar la instancia anterior después de que finalice la operación. Recomendamos seguir la ruta de clonación, ya que no afecta el rendimiento y no requiere que vuelvas a configurar la instancia (como las marcas, el tipo de máquina, el tamaño de almacenamiento y la memoria).