Para suspender a movimentação do Always On em todos os bancos de dados de um grupo de disponibilidade específico, você pode usar o seguinte código SQL. Este script automatiza a suspensão do Always On em cada banco de dados pertencente ao grupo de disponibilidade especificado.
USE master;
GO
DECLARE @AGName NVARCHAR(128);
SET @AGName = 'NomeDoSeuGrupoDeDisponibilidade'; -- Substitua pelo nome do seu grupo de disponibilidade
-- Suspende cada banco de dados no grupo de disponibilidade
DECLARE @SQL NVARCHAR(MAX);
SET @SQL = '';
SELECT @SQL = @SQL + 'ALTER DATABASE [' + DB_NAME(d.database_id) + '] SET HADR SUSPEND;' + CHAR(13)
FROM sys.dm_hadr_database_replica_states d
JOIN sys.availability_groups g ON d.group_id = g.group_id
WHERE g.name = @AGName;
-- Executa o comando para suspender os bancos de dados
EXEC sp_executesql @SQL;
Explicação do Código
Uso do Banco de Dados master:
O comando USE master assegura que o script está sendo executado no contexto do banco de dados mestre.
Declaração de Variáveis:
@AGName: Variável que armazena o nome do grupo de disponibilidade. Substitua 'NomeDoSeuGrupoDeDisponibilidade' pelo nome real do seu grupo de disponibilidade.
@SQL: Variável que armazenará o comando SQL dinâmico.
Construção do Comando SQL:
Um comando SELECT é usado para construir dinamicamente o comando ALTER DATABASE para cada banco de dados no grupo de disponibilidade especificado.
sys.dm_hadr_database_replica_states: Visualização de gerenciamento dinâmico que contém informações sobre o estado de replicação dos bancos de dados.
sys.availability_groups: Contém informações sobre os grupos de disponibilidade.
A cláusula WHERE filtra os bancos de dados pertencentes ao grupo de disponibilidade especificado.
Execução do Comando SQL:
O comando construído é executado utilizando sp_executesql, que suspende o Always On para cada banco de dados do grupo de disponibilidade.
Este código é ideal para administradores de banco de dados que precisam suspender a funcionalidade Always On de todos os bancos de dados em um grupo de disponibilidade específico, proporcionando uma maneira eficiente e centralizada de realizar essa tarefa.
Comments