Sql-Server

非同步副本上的 SQL Server 2016 AlwaysOn DBCC CHECKDB

  • November 18, 2016

我們有一個 AlwaysOn 環境,其中包括我們的 DR 站點中的一個副本,該副本設置為非同步送出和可讀輔助 = 否。

當我們在 SQL Server 2014 SP2 上執行時,我們能夠針對 DR 副本上的數據庫執行 DBCC CHECKDB。但自從升級到 SQL Server 2016 後,我們無法升級,而且我們每週的完整性工作因錯誤而失敗。

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

顯然,為了防止這種情況在 2016 年發生了一些變化,我只是不知道是什麼?

Microsoft 已在 SQL 2016 CU3 中針對此問題發布了修復程序 https://support.microsoft.com/en-us/kb/3194923

我可以說您收到的錯誤消息是因為 SQL Server 2016 中的錯誤。Microsoft 知道這一點,並已在 SQL Server 2016 RTM 的 CU3 中修復了它。

**注意:**報告了使用者錯誤,但CHECKDB應按原樣繼續。

請參閱修復:在 SQL Server 2016 可用性組的不可讀輔助副本上執行 DBCC CHECKDB 命令時出現錯誤 976

解決方法

您可以拍攝數據庫的快照並可以在其上執行 checkdb。在這種情況下它不會失敗。數據庫快照是企業功能我確定您沒有使用基本可用性組

引用自:https://dba.stackexchange.com/questions/153681