Temos cluster do SQL Server de 3 nós (grupo de disponibilidade Always On).
Eu queria implementar a replicação transacional no terceiro nó, que está configurado como assíncrono.
Quando tentei criar o Publisher, inicialmente recebi um erro:
This database is not enabled for publication.
Unable to execute procedure. The database is not published. Execute the procedure in a database that is published for replication.
Changed database context to 'prod'. (.Net SqlClient Data Provider)
Então tentei adicionar o banco de dados para publicação usando o seguinte comando.
USE prod
EXEC sp_replicationdboption @dbname = 'prod',
@optname = 'publish',
@value = 'true'
GO
Recebi outro erro:
Msg 3906, Level 16, State 2, Procedure sys.sp_MSdrop_pub_tables, Line 6 [Batch Start Line 0]
Failed to update database "prod" because the database is read-only.
O erro acima foi surpreendente, pois posso ver nas opções do Banco de Dados que a opção Somente Leitura é Falsa.
Então tentei corrigir o problema de atualização usando os seguintes comandos:
USE prod GO
ALTER DATABASE [prod] SET READ_WRITE WITH NO_WAIT
GO
e agora estou enfrentando um erro:
Msg 1468, Level 16, State 3, Line 9
The operation cannot be performed on database "prod" because it is involved in a database mirroring session or an availability group. Some operations are not allowed on a database that is participating in a database mirroring session or in an availability group.
Msg 5069, Level 16, State 1, Line 9
ALTER DATABASE statement failed.
Tentei no Nó 2 para publicação de banco de dados 'prod' e recebi o seguinte erro:
Msg 976, Level 14, State 1, Line 1
The target database, 'prod', is participating in an availability group and is currently not accessible for queries.
Either data movement is suspended or the availability replica is not enabled for read access.
To allow read-only access to this and other databases in the availability group, enable read access to one or more secondary availability replicas in the group.
For more information, see the ALTER AVAILABILITY GROUP statement in SQL Server Books Online.
A seguir está a configuração do meu cluster:
Quais etapas ou configurações terei que realizar para habilitar a Replicação Transacional no Nó 3 ou Nó 2?
O que estou fazendo de errado ou faltando aqui?
Você não pode criar publicação em réplica de leitura. Você só pode fazer isso no Primário, que é Leitura-Escrita.