We have a few Basic Availability groups in production and I've been reading about the limitations of them. I'm concerned about the following limitations:
No backups on secondary replica.
No integrity checks on secondary replicas.
Suppose that we haven't failed over in months. In our case, that seems to imply that we haven't run DBCC CHECKDB for a long time on any of the databases on the secondary. There could have been a storage corruption issue that occurred months ago that we still don't know about. If a disaster occurs on the primary replica and we fail over to the secondary, we might end up with the production application pointing at corrupt data.
Would it be considered a best practice to perform one of the following on a fixed schedule?
- Perform a planned manual failover to switch the primary and secondary and leave the former secondary in the primary role until the next planned failover.
- Take a database snapshot of the secondary replica and run
DBCC CHECKDBagainst that.
Or am I overthinking the risks here?