Aprendi uma dura lição esta semana. Acontece que, embora as atualizações de tabela/esquema sejam replicadas nos bancos de dados em um Grupo de Disponibilidade, alterar o proprietário do banco de dados na réplica primária não altera automaticamente o proprietário do banco de dados na réplica secundária.
Portanto, se você executar um failover, o proprietário do banco de dados poderá ficar fora de sincronia com o SID da tabela principal.
Meu plano de ação, por exemplo, ao fazer uma alteração relacionada à segurança, deve ser
1. Apply change to primary replica
2. Fail over the Availability Group
3. Apply change to the new primary replica
Estou correto em fazer essas afirmações? Devo estar ciente apenas das alterações do DBOwner/Schema quando estou fazendo alterações.
Sim, você precisa garantir que os bancos de dados tenham o mesmo proprietário, pois as alterações de esquema trafegarão pelo grupo de disponibilidade. Isso se torna problemático quando há alterações no proprietário do banco de dados, pois você precisa reaplicar essas alterações também aos nós secundários.
Se for possível, você pode alterar o proprietário para SA em todos os bancos de dados e, em seguida, fazer essa alteração todas as noites e quando ocorrer o failover. Ao capturar o failover, você pode executar isso para tornar o proprietário do SA para cada banco de dados:
EDITAR:
Se você não deseja ir SA como proprietário, pode criar uma tabela contendo os proprietários do banco de dados
Preenchendo a mesa (torne isso como um trabalho e agende uma vez por hora ou algo assim)
Assim que o failover acontecer, ele precisa ser executado no novo nó ativo: