Solución de problemas de base de datos para Amazon RDS Custom para SQL Server
El modelo de responsabilidad compartida de RDS Custom proporciona acceso al shell del sistema operativo y acceso como administrador de bases de datos. RDS Custom ejecuta recursos en su cuenta, a diferencia de Amazon RDS, que ejecuta recursos en una cuenta del sistema. Un mayor acceso conlleva una mayor responsabilidad. En las siguientes secciones, puede obtener información sobre cómo solucionar problemas con las instancias de base de datos de Amazon RDS Custom para SQL Server.
nota
En esta sección, se explica cómo solucionar los problemas de RDS Custom para SQL Server. Para la solución de problemas de RDS Custom para Oracle, consulte Solución de problemas de base de datos de Amazon RDS Custom para Oracle.
Temas
- Visualización de eventos de RDS Custom
- Suscripción a eventos de RDS Custom
- Solución de errores de CEV para RDS Custom para SQL Server
- Corrección de configuraciones no compatibles en RDS Custom para SQL Server
- Solución de problemas Storage-Full en RDS Custom para SQL Server
- Resolución del problema PENDING_RECOVERY en bases de datos habilitadas para TDE en RDS Custom para SQL Server
Visualización de eventos de RDS Custom
El procedimiento para ver eventos es el mismo para las instancias de base de datos de RDS Custom y Amazon RDS. Para obtener más información, consulte Consulta de eventos de Amazon RDS.
Para ver la notificación de eventos de RDS Custom mediante la AWS CLI, utilice el comando describe-events
. RDS Custom presenta varios eventos nuevos. Las categorías de eventos son las mismas que para Amazon RDS. Para ver la lista de eventos, consulte Categorías y mensajes de eventos de Amazon RDS.
En el siguiente ejemplo se recuperan los detalles de los eventos que se han producido para la instancia de base de datos de RDS Custom especificada.
aws rds describe-events \ --source-identifier my-custom-instance \ --source-type db-instance
Suscripción a eventos de RDS Custom
El procedimiento para suscribirse a eventos es el mismo para las instancias de base de datos de RDS Custom y Amazon RDS. Para obtener más información, consulte Suscripción a notificaciones de eventos de Amazon RDS.
Para suscribirse a las notificaciones de eventos de RDS Custom con la CLI, utilice el comando create-event-subscription
. Incluya los siguientes parámetros obligatorios:
-
--subscription-name
-
--sns-topic-arn
En el siguiente ejemplo se crea una suscripción para eventos de copia de seguridad y recuperación de una instancia de base de datos de RDS Custom en la cuenta de AWS actual. Las notificaciones se envían a un tema de Amazon Simple Notification Service (Amazon SNS), especificado por --sns-topic-arn
.
aws rds create-event-subscription \ --subscription-name my-instance-events \ --source-type db-instance \ --event-categories '["backup","recovery"]' \ --sns-topic-arn arn:aws:sns:us-east-1:123456789012:interesting-events
Solución de errores de CEV para RDS Custom para SQL Server
Cuando intenta crear una CEV, puede fallar. En este caso, RDS Custom emite el mensaje de evento RDS-EVENT-0198
. Para obtener más información acerca de la visualización de eventos de RDS, consulte Categorías y mensajes de eventos de Amazon RDS.
Utilice la siguiente información para ayudarle a abordar las posibles causas.
Mensaje | Sugerencias para la solución de problemas |
---|---|
|
Ejecute Sysprep en la instancia EC2 que ha creado a partir de la AMI. Para obtener más información sobre cómo preparar la AMI con Sysprep, consulte Create a standardized Amazon Machine Image (AMI) using Sysprep (Crear una imagen de máquina de Amazon (AMI) estandarizada con Sysprep). |
|
Compruebe que la cuenta y el perfil utilizados para la creación tengan los permisos necesarios en |
|
Compruebe que el archivo |
|
Asegúrese de que la AMI exista en la misma cuenta de cliente. |
|
El nombre de la AMI es incorrecto. Asegúrese de proporcionar el ID de AMI correcto. |
|
Elija una AMI compatible que tenga Windows Server con las ediciones SQL Server Enterprise, Standard o Web. Elija una AMI con uno de los siguientes códigos de operación de uso del EC2 Marketplace:
|
|
Utilice una AMI que contenga una edición compatible de SQL Server. Para obtener más información, consulte Compatibilidad de versiones CEV para RDS Custom para SQL Server. |
|
Las versiones del motor Classic RDS Custom para SQL Server no son compatibles. Por ejemplo, la versión 15.00.4073.23.v1. Utilice un número de versión compatible. |
|
La CEV debe tener el estado |
|
La CEV de destino no es válida. Compruebe los requisitos de una ruta de actualización válida. |
|
Siga la convención de nomenclatura de CEV requerida. Para obtener más información, consulte Requisitos de las CEV para RDS Custom para SQL Server. |
|
Se ha proporcionado una versión de motor de base de datos no compatible. Use las versiones de motor de base de datos compatibles. |
|
Use una AMI basada en la arquitectura x86_64. |
|
Cree la instancia EC2 a partir de la AMI para la que tiene permiso. Ejecute Sysprep en la instancia EC2 para crear y guardar una imagen base. |
|
Utilice una AMI creada con la plataforma Windows. |
|
Cree la AMI con el tipo de dispositivo EBS. |
|
Elija una AMI compatible que tenga Windows Server con las ediciones SQL Server Enterprise, Standard o Web. Elija una AMI con uno de los siguientes códigos de operación de uso del EC2 Marketplace:
|
|
Asegúrese de que la AMI tenga el estado |
|
Utilice un sistema operativo Windows compatible. |
|
Compruebe que el archivo de registro esté disponible en |
|
Utilice una AMI con una versión mínima de compilación del sistema operativo de 14393. |
|
Utilice una AMI con una versión principal del sistema operativo 10.0 o superior. |
Corrección de configuraciones no compatibles en RDS Custom para SQL Server
Como es un modelo de responsabilidad compartida, es su responsabilidad corregir los problemas de configuración que colocan la instancia de base de datos de RDS Custom para SQL Server en el estado unsupported-configuration
. Si el problema está relacionado con la infraestructura de AWS, puede utilizar la consola o la AWS CLI para solucionarlo. Si el problema está relacionado con el sistema operativo o la configuración de la base de datos, puede iniciar sesión en el host para solucionarlo.
nota
Esta sección explica cómo corregir configuraciones no compatibles en RDS Custom para SQL Server. Para obtener información sobre RDS Custom para Oracle, consulte Corrección de configuraciones no compatibles en RDS Custom para Oracle.
En la siguiente tabla, encontrará descripciones de las notificaciones y eventos que envía el perímetro de soporte y cómo solucionarlos. Estas notificaciones y el perímetro de soporte están sujetos a cambios. Para obtener información sobre el perímetro de soporte, consulte Perímetro de soporte de RDS Custom. Para ver las descripciones de los eventos, consulte Categorías y mensajes de eventos de Amazon RDS.
Código de evento | Área de configuración | Mensaje de evento de RDS | Proceso de validación |
---|---|---|---|
|
Configuración manual no compatible |
|
Para resolver este problema, cree un caso de soporte. |
Recurso de AWS (infraestructura) | |||
|
Estado de la instancia EC2 |
|
Para comprobar el estado de una instancia de base de datos, utilice la consola o ejecute el siguiente comando de la AWS CLI:
|
|
Estado de la instancia EC2 |
|
Utilice el siguiente comando de la AWS CLI para comprobar el estado de una instancia de base de datos.
También puede comprobar el estado de la instancia EC2 en la consola de EC2. Para iniciar una instancia de base de datos, utilice la consola o ejecute el siguiente comando de la AWS CLI:
|
|
Clase de instancia EC2 |
|
Utilice el siguiente comando de la CLI con el fin de comprobar la clase de instancia de base de datos esperada:
|
|
No se puede acceder al volumen de almacenamiento de EBS |
|
|
|
Volumen de almacenamiento de EBS desconectado |
|
Tras volver a asociar el volumen de EBS, utilice los siguientes comandos de la CLI para comprobar si el volumen de EBS “volume-id” está correctamente asociado a la instancia de RDS:
|
|
Tamaño del volumen de almacenamiento de EBS |
|
Utilice el siguiente comando de la CLI para comparar el tamaño de los detalles del volumen de EBS “volume-id” y los detalles de la instancia de RDS:
Utilice el siguiente comando de la CLI para ver el tamaño real del volumen asignado:
|
|
Configuración del volumen de almacenamiento de EBS |
|
Utilice el siguiente comando de la CLI para comparar el tipo de los detalles del volumen de EBS “volume-id” y los detalles de la instancia de RDS: Asegúrese de que los valores del nivel de EBS coincidan con los valores del nivel de RDS:
Para obtener el valor esperado del rendimiento de almacenamiento a nivel de RDS:
Para obtener el valor esperado de IOPS de volumen a nivel de RDS:
Para obtener el tipo de almacenamiento actual en el nivel de EC2:
Para obtener el valor actual del rendimiento del almacenamiento en el nivel de EC2:
Para obtener el valor actual de IOPS de volumen a nivel de EC2:
|
|
Tamaño y configuración del volumen de almacenamiento de EBS |
|
Utilice el siguiente comando de la CLI para comparar el tipo de los detalles del volumen de EBS “volume-id” y los detalles de la instancia de RDS: Asegúrese de que los valores del nivel de EBS coincidan con los valores del nivel de RDS:
Para obtener el valor esperado del rendimiento de almacenamiento a nivel de RDS:
Para obtener el valor esperado de IOPS de volumen a nivel de RDS:
Para obtener el tipo de almacenamiento actual en el nivel de EC2:
Para obtener el valor actual del rendimiento del almacenamiento en el nivel de EC2:
Para obtener el valor actual de IOPS de volumen a nivel de EC2:
Para obtener el tamaño de volumen asignado esperado:
Para obtener el tamaño de volumen asignado real:
|
|
Permisos de SQS |
|
|
|
Puntos de conexión de VPC de SQS |
|
|
Sistema operativo | |||
|
Estado de los servicios de SQS |
|
|
|
Estado del agente de RDS Custom |
|
|
|
Permisos de SQS |
|
|
|
Puntos de conexión de VPC de SQS |
|
|
Sistema operativo | |||
|
Estado de los servicios de SQS |
|
|
|
Estado del agente de RDS Custom |
|
Inicie sesión en el host y asegúrese de que el agente de RDS Custom está en ejecución. Puede utilizar los siguientes comandos para ver el estado del agente.
Si el estado no es
Si el agente no puede iniciarse, consulte los eventos de Windows para ver por qué no se puede iniciar. El agente requiere que un usuario de Windows inicie el servicio. Asegúrese de que exista un usuario de Windows y de que tenga privilegios para ejecutar el servicio. |
|
Estado del agente de SSM |
|
Para obtener información, consulte Solución de problemas de SSM Agent. Para solucionar problemas de puntos de conexión de SSM, consulte No es posible conectarse a los puntos de conexión de SSM y Use ssm-cli to troubleshoot managed node availability. |
|
Inicio de sesión de agente de RDS Custom |
|
|
|
Zona horaria |
|
Ejecute el comando de PowerShell Para obtener más información, consulte Zona horaria local para las instancias de base de datos de RDS Custom para SQL Server. |
|
Versión de la solución de software de alta disponibilidad |
|
|
|
Configuración de la solución de software de alta disponibilidad |
|
|
Base de datos | |||
|
Protocolo de memoria compartida de SQL Server |
|
Puede validarlo consultando: Administrador de configuración de SQL Server > Configuración de red de SQL Server > Protocolos para MSSQLSERVER > Memoria compartida como habilitada. Tras habilitar el protocolo, reinicie el proceso de SQL Server. |
|
Clave maestra de servicio |
|
|
|
Clave maestra de servicio |
|
|
|
Versión y edición del motor de base de datos |
|
Ejecute la siguiente consulta para obtener la versión de SQL:
Ejecute el siguiente comando AWS CLI para obtener la versión y la edición del motor SQL de RDS:
Para obtener más información, consulte Modificación de una instancia de base de datos de RDS Custom for SQL Server y Actualización de una versión del motor de una instancia de base de datos. |
|
Edición del motor de base de datos |
|
Ejecute la siguiente consulta para obtener la edición de SQL:
Ejecute el siguiente comando AWS CLI para obtener la edición del motor SQL de RDS:
|
|
Versión del motor de la base de datos |
|
Ejecute la siguiente consulta para obtener la versión de SQL:
Ejecute el siguiente comando AWS CLI para obtener la versión del motor SQL de RDS:
Para obtener más información, consulte Modificación de una instancia de base de datos de RDS Custom for SQL Server y Actualización de una versión del motor de una instancia de base de datos. |
|
Ubicación de archivo de base de datos |
|
Ejecute la siguiente consulta para ver la ubicación de los archivos de base de datos que no estén en la ruta predeterminada:
|
Solución de problemas Storage-Full
en RDS Custom para SQL Server
RDS Custom supervisa el espacio disponible en los volúmenes raíz (C:) y de datos (D:) de una instancia de base de datos de RDS Custom para SQL Server. RDS Custom mueve el estado de la instancia al estado Storage-Full
cuando cualquiera de los volúmenes tiene menos de 500 MiB de espacio en disco disponible. Para escalar el almacenamiento de la instancia, consulte Modificación del almacenamiento para una instancia de base de datos de RDS Custom para SQL Server.
nota
Las instancias en Storage-Full
pueden tardar hasta 30 minutos en resolverse después de escalar el almacenamiento.
Resolución del problema PENDING_RECOVERY en bases de datos habilitadas para TDE en RDS Custom para SQL Server
Las bases de datos de SQL Server con el cifrado de datos transparente (TDE) activado pueden permanecer en el estado PENDING_RECOVERY
si hay algún problema con el descifrado automático. Esto suele ocurrir después de la restauración de una instancia de base de datos si el archivo de copia de seguridad de la clave maestra de servicio (SMK) de la instancia de base de datos de origen almacenado en el bucket de S3 administrado por RDS Custom de su cuenta se ha eliminado antes de que se complete la restauración.
Para habilitar el descifrado automático y poner en línea las bases de datos compatibles con TDE, debe abrir la clave maestra de base de datos (DMK) con su contraseña y cifrar la DMK mediante la SMK.
Utilice los siguientes comandos de SQL Server como referencia:
-- Identify PENDING_RECOVERY TDE databases USE MASTER; GO SELECT name, is_encrypted, state_desc FROM sys.databases; GO -- Open DMK using password OPEN MASTER KEY DECRYPTION BY PASSWORD = '<password>'; GO -- Encrypt DMK using SMK ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY; GO -- Close SMK CLOSE MASTER KEY; GO -- Bring the TDE databases online ALTER DATABASE <database_name> SET ONLINE; GO -- Verify TDE databases are now in ONLINE state SELECT name, is_encrypted, state_desc FROM sys.databases; GO