web-dev-qa-db-ja.com

ミラーリングサーバーSQL Server 2008 R2を再接続する

フェイルオーバーサーバーのステータス(ミラー、切断、回復中)とプリンシパルサーバーのステータス(プリンシパル、切断)があります。

これらのサーバーを再接続するプロセスは何ですか?

10
andyange

プリンシパルサーバーでミラーリングエンドポイントを再起動すると、これが解決する場合があります。

これを行うには、次のT-SQLを使用します。

ALTER ENDPOINT Endpoint_Name STATE = STOPPED

ALTER ENDPOINT Endpoint_Name STATE = STARTED

エンドポイントの名前を取得します。

SELECT * FROM sys.endpoints
WHERE type = 4

詳細は KB 2490051 を参照してください。

6
dezdez

まず、プリンシパルでこのT-SQLコマンドを使用して再接続してもらいます。

ALTER DATABASE AdventureWorks2012 SET PARTNER RESUME;

それが失敗した場合は、プリンシパルとミラーの間の通信の問題があり、そこから楽しみが始まります。 IP接続から、ミラーリングエンドポイントのセキュリティ、さまざまな暗号化方法まで、あらゆるものを使用できます。詳細なトラブルシューティングを行う必要がある場合は、 Robert Davisの著書Pro SQL Server 2008 Mirroring をお勧めします。

4
Brent Ozar

今回のケースでは、ミラーリングエンドポイントの接続に証明書認証を使用していますが、問題は、ミラーリングエンドポイントが使用していた証明書の1つが期限切れになったためです。

エンドポイント認証に関連する証明書の有効期限を確認するには、

SELECT * FROM sys.certificates  

この場合、有効期限が切れたものについては新しい証明書を作成し、インポート後にALTER ENDPOINTを実行する必要があります。

2
Steve Dubrick

次の手順でこの問題を修正しました。PRIMARYでエンドポイントを再起動しても解決しませんでした

  1. プライマリ上:

    SELECT * FROM sys.endpoints WHERE type = 4
    
    ALTER ENDPOINT Mirroring STATE = STOPPED
    
    ALTER ENDPOINT Mirroring STATE = STARTED
    
  2. ミラー上:

    SELECT * FROM sys.endpoints WHERE type = 4
    
    ALTER ENDPOINT Mirroring STATE = STOPPED
    
    ALTER ENDPOINT Mirroring STATE = STARTED
    
  3. PRIMARYに戻る:

    ALTER DATABASE PACXDSite SET PARTNER RESUME;
    
1
A AI

「RESUME PARTNER」が機能しない場合

ALTER DATABASE AdventureWorks2016 SET PARTNER RESUME;

そのデータベースのミラーを解除して再構成します。

--STEP 1 ON PRINCIPAL、データベースのミラーを解除します

ALTER DATABASE AdventureWorks2016 SET PARTNER OFF;

--STEP 2 ON MIRROR、データベースのミラーを解除します

ALTER DATABASE AdventureWorks2016 SET PARTNER OFF;

-ミラーのステップ3

RESTORE LAST FULL BACKUP DATABASE WITH NO RECOVERY 
RESTORE TRAN BACKUP DATABASE WITH NO RECOVERY

-ミラーのステップ4

ALTER DATABASE AdventureWorks2016 SET PARTNER = 'TCP://PRINCIPAL.MyDomain.COM:5022';

-プリンシパルのステップ5

ALTER DATABASE AdventureWorks2016 SET PARTNER = 'TCP://MIRROR.MyDomain.COM:5022';

--WITNESSがすでに構成されている場合は、STEP 6 ON PRINCIPAL

ALTER DATABASE AdventureWorks2016 SET WITNESS = 'TCP://WITNESS.MyDomain.COM:5022';

プリンシパルデータベースは常にオンラインで利用可能であるため、上記のすべての作業は勤務時間中に行うことができます。

0
Cozzaro Nero

ケース:

プリンシパルサーバーで以下のコマンドを実行すると:

alter database  'Database_Name' set partner off

上記のコマンドを実行した後、DBは[mirror, disconnected]ミラーサーバーの状態。

解決:

手順1:ミラーでクエリの下を実行する

exec sp_resetstatus 'Database_Name'

ステップ2:以下のコマンドを実行すると、DBが使用可能になります。

restore database 'Database_Name' with recovery

注:ステップ2は回復するのに時間がかかります。

0
Vijay Mane DBA