DBAtlas · データベース運用アトラス

可用性グループのフェイルオーバー

SQL Server構成

コマンド

-- Run on the TARGET (secondary) REPLICA - planned, no data loss (synchronous):
ALTER AVAILABILITY GROUP [AG_Customer] FAILOVER;

-- Forced (asynchronous replica / primary unreachable, DATA LOSS risk):
-- ALTER AVAILABILITY GROUP [AG_Customer] FORCE_FAILOVER_ALLOW_DATA_LOSS;

-- Check status:
SELECT ag.name, ar.replica_server_name,
       rs.role_desc, rs.synchronization_health_desc, ar.availability_mode_desc
FROM   sys.availability_groups ag
  JOIN sys.availability_replicas ar ON ar.group_id = ag.group_id
  JOIN sys.dm_hadr_availability_replica_states rs ON rs.replica_id = ar.replica_id;

概要

可用性グループのプライマリロールを別のレプリカに移動する。同期レプリカへの計画的フェイルオーバーはデータ損失なしで行われる。

使用する場面

メンテナンス / パッチ適用のためのロール移行、プライマリノード障害時のフェイルオーバー。

注意

通常の FAILOVER コマンドは、引き継ぐ側のセカンダリレプリカで実行する。FORCE_FAILOVER_ALLOW_DATA_LOSS はプライマリに到達できない場合または非同期レプリカでのみ使用し、データ損失を引き起こす可能性がある。同期が正常でない場合は細心の注意を払う。

DBAtlas で開く →

関連項目