Configuración de TempDB para implementaciones multi-AZ
Si la instancia de base de datos de RDS para SQL Server está en una implementación multi-AZ mediante creación de reflejos de base de datos (DBM) o grupos de disponibilidad AlwaysOn (AG), tenga en cuenta lo siguiente al utilizar la base de datos tempdb
.
No puede replicar datos de tempdb
de la instancia de base de datos principal a la instancia de base de datos secundaria. Si realiza una conmutación por error a una instancia de base de datos secundaria, tempdb
en esa instancia de base de datos secundaria estará vacía.
Puede sincronizar la configuración de las opciones de la base de datos tempdb
, incluidos el tamaño de los archivos y la configuración de crecimiento automático, desde la instancia de base de datos principal a la instancia de base de datos secundaria. Todas las versiones de RDS para SQL Server admiten la sincronización de la configuración de tempDB
. Puede activar la sincronización automática de la configuración de tempdb
mediante el siguiente procedimiento almacenado:
EXECUTE msdb.dbo.rds_set_system_database_sync_objects @object_types = 'TempDbFile';
importante
Antes de utilizar el procedimiento almacenado rds_set_system_database_sync_objects
, asegúrese de haber establecido la configuración preferida de tempdb
en la instancia de base de datos principal, en lugar de en la instancia de base de datos secundaria. Si realizó el cambio de configuración en su instancia de base de datos secundaria, su configuración preferida de tempdb
podría eliminarse al activar la sincronización automática.
Puede utilizar la siguiente función para confirmar si la sincronización automática de la configuración de tempdb
está activada:
SELECT * from msdb.dbo.rds_fn_get_system_database_sync_objects();
Cuando se active la sincronización automática de la configuración de tempdb
, se devolverá un valor para el campo object_class
. Cuando está desactivada, no se devuelve ningún valor.
Puede utilizar la siguiente función para saber cuál fue la última vez que se sincronizaron los objetos, en hora UTC:
SELECT * from msdb.dbo.rds_fn_server_object_last_sync_time();
Por ejemplo, si modificó la configuración de tempdb
a la 1:00 y, a continuación, ejecutó la función rds_fn_server_object_last_sync_time
, el valor devuelto para last_sync_time
debería ser posterior a la 1:00, lo que indica que se ha producido una sincronización automática.
Si también utiliza la replicación de trabajos del agente de SQL Server, puede habilitar la replicación tanto para los trabajos del agente de SQL como para la configuración de tempdb
. Para ello, proporciónelos en el parámetro @object_type
:
EXECUTE msdb.dbo.rds_set_system_database_sync_objects @object_types = 'SQLAgentJob,TempDbFile';
Para obtener más información acerca de la replicación de trabajos del agente de SQL Server, consulte Activación de la replicación de trabajos del agente de SQL Server.
Como alternativa a utilizar el procedimiento almacenado rds_set_system_database_sync_objects
para garantizar que los cambios de configuración de tempdb
se sincronicen automáticamente, puede utilizar uno de los siguientes métodos manuales:
nota
Recomendamos activar la sincronización automática de la configuración de tempdb
mediante el procedimiento almacenado rds_set_system_database_sync_objects
. El uso de la sincronización automática evita la necesidad de realizar estas tareas manuales cada vez que se cambia la configuración de tempdb
.
-
En primer lugar, modifique la instancia de base de datos y desactive el despliegue Multi-AZ, a continuación, modifique tempdb y, por último, vuelva a activar el despliegue Multi-AZ. Este método no provoca ningún tiempo de inactividad.
Para obtener más información, consulte Modificación de una instancia de base de datos de Amazon RDS.
-
En primer lugar, modifique
tempdb
en la instancia principal original, a continuación, realice una conmutación por error manualmente y, por último, modifiquetempdb
en la nueva instancia principal. Este método provoca un tiempo de inactividad.Para obtener más información, consulte Reinicio de una instancia de base de datos.