SQL Server 2016 AlwaysOn DBCC CHECKDB auf asynchronem Replikat


7

Wir haben eine AlwaysOn-Umgebung, die ein Replikat in unserer DR-Site enthält, das mit asynchronem Commit und lesbarem sekundär = Nein eingerichtet ist.

Als wir unter SQL Server 2014 SP2 ausgeführt wurden, konnten wir DBCC CHECKDB für die Datenbanken auf unserem DR-Replikat ausführen. Seit dem Upgrade auf SQL Server 2016 ist dies jedoch nicht möglich, und unser wöchentlicher Integritätsjob schlägt mit dem Fehler fehl.

'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.

Offensichtlich hat sich 2016 etwas geändert, um dies zu verhindern. Ich weiß nur nicht was?

Antworten:


6

Ich kann sagen, dass die Fehlermeldung, die Sie erhalten, auf einen Fehler in SQL Server 2016 zurückzuführen ist. Microsoft weiß davon und hat ihn in CU3 für SQL Server 2016 RTM behoben.

Hinweis: Der Benutzerfehler wird gemeldet, CHECKDBsollte jedoch unverändert fortgesetzt werden.

Siehe UPDATE: Fehler 976 tritt auf, wenn Sie den Befehl DBCC CHECKDB auf einem nicht lesbaren sekundären Replikat der SQL Server 2016-Verfügbarkeitsgruppe ausführen

Problemumgehung

Sie können einen Schnappschuss der Datenbanken erstellen und checkdb darauf ausführen. In diesem Fall würde es nicht fehlschlagen. Der Datenbank-Snapshot ist eine Unternehmensfunktion. Ich bin sicher, dass Sie keine Basisverfügbarkeitsgruppe verwenden


Ich bin nicht sicher, ob die CHECKDB fortgesetzt wird. In DBCC DBINFO ('<>') WITH TABLERESULTS wird der Wert für dbi_dbccLastKnownGood nicht aktualisiert.
Adrian Sugden

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.