手動フェールオーバーの実行(監視なし、高保護モード)
-
19-08-2019 - |
質問
プライマリパートナーとミラーパートナーの両方が利用可能な場合、フェールオーバーを実行できますが、プリンシパルがスイッチオフまたはネットワークから切断された(つまり、失敗した場合)手動フェールオーバーの方法がわかりません)。
使用してみました:
ALTER DATABASE myMirrorDatabase SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS
ただし、これによりdbが次の状態になります。
[In Recovery]
データベースがミラーリング用に構成されているため、RESTORE DATABASE
を実行できません。それで、これを行う適切な方法は何ですか?ヘルプ!
詳細...(SERVER_A
にDB_A
を、SERVER_B
にDB_B
を指定)
初期状態:
DB_A is [Principal, Synchronised], DB_B is [Mirror, Synchronised / Restoring]
停止alter
:
DB_A is [offline], DB_B is [Mirror, Disconnected / In Recovery]
上記の<=>データベースステートメントを実行します:
DB_A is [offline], DB_B is [In Recovery]
解決
If you have an unplanned failover where the principal and witness aren't available you should issue the following statements on the mirror:
USE master
go
ALTER DATABASE AdventureWorks SET PARTNER OFF
GO
RESTORE DATABASE AdventureWorks WITH RECOVERY
GO
This will bring the mirror online.
If you need to re-establish the Mirror configuration once the principal is available again you need to go through the process of backing up the mirror DB (because it's now the most recent version), restoring to the principal and then configuring mirroring all over again but in reverse. At the end of it the mirror will become the new principal.