Configuração TempDB para implantações multi-AZ - Amazon Relational Database Service

Configuração TempDB para implantações multi-AZ

Se a instância de banco de dados do RDS para o SQL Server estiver em uma implantação multi-AZ usando o Database Mirroring (DBM) ou grupos de disponibilidade (AGs) Always On, lembre-se das considerações a seguir para o uso do banco de dados tempdb.

Não é possível replicar dados do tempdb da instância de banco de dados primária para a instância de banco de dados secundária. Ao fazer failover para uma instância de banco de dados secundária, o tempdb nessa instância de banco de dados secundária estará vazia.

É possível sincronizar a configuração das opções do banco de dados tempdb, incluindo o tamanho do arquivo e as configurações de crescimento automático, da instância de banco de dados primária para a instância de banco de dados secundária. A sincronização da configuração tempDB é aceita em todas as versões do RDS para SQL Server. É possível ativar a sincronização automática da configuração tempdb usando o seguinte procedimento armazenado:

EXECUTE msdb.dbo.rds_set_system_database_sync_objects @object_types = 'TempDbFile';
Importante

Antes de usar o procedimento armazenado rds_set_system_database_sync_objects, defina a configuração tempdb preferencial na instância de banco de dados primária, e não na instância de banco de dados secundária. Se você tiver feito a alteração na instância de banco de dados secundária, a configuração tempdb preferencial poderá ser excluída ao ativar a sincronização automática.

É possível usar a seguinte função para confirmar se a sincronização automática da configuração tempdb está ativada:

SELECT * from msdb.dbo.rds_fn_get_system_database_sync_objects();

Quando a sincronização automática da configuração tempdb estiver ativada, haverá um valor exibido para o campo object_class. Quando está desativada, nenhum valor é exibido.

É possível usar a seguinte função para descobrir a última vez que os objetos foram sincronizados no horário UTC:

SELECT * from msdb.dbo.rds_fn_server_object_last_sync_time();

Por exemplo, se você modificou a configuração tempdb às 01:00 e depois executou a função rds_fn_server_object_last_sync_time, o valor exibido para last_sync_time deve ser posterior à 01:00, indicando que ocorreu uma sincronização automática.

Se você também estiver usando a replicação do SQL Server Agent, poderá habilitar a replicação tanto para os trabalhos do SQL Agent quanto para a configuração tempdb fornecendo-os no parâmetro @object_type:

EXECUTE msdb.dbo.rds_set_system_database_sync_objects @object_types = 'SQLAgentJob,TempDbFile';

Para ter mais informações sobre a replicação de trabalhos do SQL Server Agent, consulte Ativar a replicação de trabalhos do SQL Server Agent.

Como alternativa ao uso do procedimento armazenado rds_set_system_database_sync_objects para garantir que as alterações da configuração tempdb sejam sincronizadas automaticamente, é possível usar um dos seguintes métodos manuais:

nota

Recomendamos ativar a sincronização automática da configuração tempdb usando o procedimento armazenado rds_set_system_database_sync_objects: O uso da sincronização automática evita a necessidade de realizar essas tarefas manuais sempre que você altera a configuração tempdb.

  • Primeiro modifique sua instância de banco de dados e desative o Multi-AZ e depois modifique tempdb e finalmente volte a ativar o Multi-AZ. Esse método não envolve qualquer tempo de inatividade.

    Para obter mais informações, consulte Modificar uma instância de banco de dados do Amazon RDS.

  • Modifique tempdb na instância primária original, faça failover manualmente e, por fim, modifique tempdb na nova instância primária. Esse método envolve tempo de inatividade.

    Para ter mais informações, consulte Reinicializar uma instância de banco de dados .