Temos um ambiente AlwaysOn, que inclui uma réplica em nosso site de DR configurado com confirmação assíncrona e secundária legível = Não.
Quando estávamos executando no SQL Server 2014 SP2, conseguimos executar DBCC CHECKDB nos bancos de dados em nossa réplica de DR. Mas, desde a atualização para o SQL Server 2016, não conseguimos e nosso trabalho de integridade semanal está falhando com o erro.
'The target database 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.
Obviamente algo mudou em 2016 para evitar isso, só não sei o quê?
Posso dizer que a mensagem de erro que você está recebendo é devido a um bug no SQL Server 2016. A Microsoft sabe disso e o corrigiu no CU3 para SQL Server 2016 RTM.
Nota: O erro do usuário é relatado, mas
CHECKDB
deve continuar como está.Consulte CORREÇÃO: o erro 976 ocorre quando você executa o comando DBCC CHECKDB em uma réplica secundária ilegível do SQL Server 2016 Availability Group
Gambiarra
Você pode tirar um instantâneo dos bancos de dados e executar o checkdb nele. Nesse caso, não falharia. O instantâneo do banco de dados é um recurso corporativo. Tenho certeza de que você não está usando o grupo de disponibilidade básico
A Microsoft lançou uma correção para isso no SQL 2016 CU3 https://support.microsoft.com/en-us/kb/3194923