web-dev-qa-db-ja.com

SQL Server AlwaysOn可用性グループの自動シード

SQL Server 2019でAlwaysOnを作成し、自動シードを選択しましたが、セカンダリノードにデータベースが作成されません。一方、データベースを手動で作成すると、データベースが既に存在するというエラーが発生します。解決策は何ですか?

3
Saeid Babaei

AGを作成した期間(プライマリレプリカとセカンダリレプリカの両方)からSQL Serverエラーログを調べると、自動シードが完了しなかった理由を確認できます。

このエラーの一般的な原因の1つは、可用性グループにセカンダリに対する "CREATE ANY DATABASE"権限がないことです。これを修正するには、各セカンダリレプリカに移動して、次のコマンドを実行する必要があります。

ALTER AVAILABILITY GROUP yourAgName
GRANT CREATE ANY DATABASE

もう1つの見どころは、自動シードDMVです。このクエリは MSドキュメントから です。

SELECT start_time, 
    completion_time
    is_source,
    current_state,
    failure_state,
    failure_state_desc
FROM sys.dm_hadr_automatic_seeding

自動シードが機能しない理由についての手掛かりの失敗理由を確認してください。


見つかった問題を修正した後、プライマリで次のコードを実行して自動シードを再試行できます。

ALTER AVAILABILITY GROUP yourAgName
MODIFY REPLICA ON 'SecondaryReplicaName' 
WITH (SEEDING_MODE = AUTOMATIC);
7
Josh Darnell