トップ回答者
SQLServer 2008 R2でウィットネスが停止中のサーバ障害についてウィットネス起動時に自動的にフェールオーバーさせる方法について

質問
回答
-
自己レスですが
バッチファイルからSQLCMDを使用するして自動化することにしました。プリンシパル、ミラーに接続して
接続可能・不可能、ミラー状態(プリンシパル、ミラー)、ウィットネス接続状態に応じて以下の処理を行うことにしました。
①フェイルオーバー
ALTER DATABASE <database_name> SET PARTNER FAILOVER
②強制プリンシパル
ALTER DATABASE <database_name> SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS
③ミラーリング解除(障害解消後にミラーリング再構成が必要です)
ALTER DATABASE <database_name> SET PARTNER OFF
場合によっては復元中を解除
RESTORE DATABASE <database_name> WITH RECOVERY
参考URL
http://msdn.microsoft.com/ja-jp/library/ms178655.aspx
http://technet.microsoft.com/ja-jp/library/cc917681.aspx参考SQL
■ミラー状態確認
SELECT mirroring_role
,mirroring_witness_state
FROM sys.database_mirroring
WHERE mirroring_role_desc IS NOT NULL- 回答としてマーク alifelessshell 2011年5月18日 8:59
すべての返信
-
自己レスですが
バッチファイルからSQLCMDを使用するして自動化することにしました。プリンシパル、ミラーに接続して
接続可能・不可能、ミラー状態(プリンシパル、ミラー)、ウィットネス接続状態に応じて以下の処理を行うことにしました。
①フェイルオーバー
ALTER DATABASE <database_name> SET PARTNER FAILOVER
②強制プリンシパル
ALTER DATABASE <database_name> SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS
③ミラーリング解除(障害解消後にミラーリング再構成が必要です)
ALTER DATABASE <database_name> SET PARTNER OFF
場合によっては復元中を解除
RESTORE DATABASE <database_name> WITH RECOVERY
参考URL
http://msdn.microsoft.com/ja-jp/library/ms178655.aspx
http://technet.microsoft.com/ja-jp/library/cc917681.aspx参考SQL
■ミラー状態確認
SELECT mirroring_role
,mirroring_witness_state
FROM sys.database_mirroring
WHERE mirroring_role_desc IS NOT NULL- 回答としてマーク alifelessshell 2011年5月18日 8:59