web-dev-qa-db-ja.com

Always OnセカンダリレプリカのDBCCチェック

Always On可用性グループ内のすべてのノードでDBCCチェックをスケジュールする最善の方法は何ですか。すべてのセカンダリを含め、すべてのノードで同じジョブを同時にスケジュールできますか?私の環境では、すべてのバックアップがプライマリNode=のみで行われています。専門家の助言は高く評価されます。Olahallengrenスクリプトを使用するつもりです。

1
SQL_NoExpert

Checkdbは、プライマリレプリカとセカンダリレプリカの両方で実行する必要があります。通常、大規模なデータベースで、システムがビジーで、両方のレプリカでcheckdbを実行する余裕がない場合、特にプライマリレプリカで実行すると、すべてのセカンダリレプリカでcheckdbを実行し、プライマリをセカンダリにフェイルオーバーして、セカンダリを新しいプライマリにします。これで、checkdbを実行できる新しいセカンダリができました。これにより、プライマリワークロードに影響を与えることなく、すべてのノードでcheckdbを実行できます。

セカンダリプライマリでcheckdbを実行すると、セカンダリがスナップショットを作成してリカバリを実行する必要があるため、影響を受けるため、完全なAGの負荷が比較的非常に少ない場合、またはダウンタイム中に、常にセカンダリレプリカでもcheckdbを実行してください。

週に一度すべてのレプリカでcheckdbを実行できる場合は、これが最善の方法です。 checkdbの影響を最小限に抑えるphysical_onlyなどのオプションがありますが、このオプションを使用すると、checkdbは完全な整合性チェックを行わないことに注意してください。

必読:

1
Shanky