トップ回答者
ミラー側のミラーリング監視接続が切断になる。

質問
-
みなさん、はじめまして。よろしくお願いします。
Aサーバ(プリシンパル)、Bサーバ(ミラー)、Cサーバ(ウィットネス)でサーバを構成しています。
AサーバのDBをBサーバへ復元し、ミラー設定しました。
データベースミラーリングモニタを確認したところ、ミラーのミラーリング監視接続が切断に
なっています。
接続済みに変更するための、解決方法を教えてください。
■環境
OS:サーバ3台ともWindows2003 R2 64bit(SP2)
SQLserver:3台ともSQLserver2005 64bit(SP2)
3台とも同じセグメント上にいます。
■状況
手動では、フェールオーバー可能できます。
データベース ミラーリング モニタを確認したところ、
A-DB(同期済み、A->B)と表示されていますが、
状態タブのミラーリング接続監視をみてみると
プリシンパルは「接続済み」になっていますが、
ミラーは「切断」になっています。
ミラーも接続済みになるのが正常だと思いますが、
なぜ切断になっているか原因が不明です。
切断を接続済みにするには、どのようにすればよいのでしょうか?
以上、よろしくお願いします。
回答
-
直接の回答になっていませんが、
http://blogs.sqlpassj.org/mitsugi/archive/2006/03/24/16494.aspx
に詳細なミラーリングの設定手順が掲載されています。
ひょっとすると、ミラーリングの設定が途中で完了していないとかは無いでしょうか?
正しい状態は「同期中」のようです。
参考情報
SQL Server 2005 データベース ミラーリングの「データベース ミラーリングの状態と遷移」の項目
上三分の一あたりです。
http://www.microsoft.com/japan/technet/prodtechnol/sql/2005/dbmirror.mspx
-
ちょっと、ミラーリングの経験がないので、まとはずれな回答をしている気がしますが、、、
このFixが
「The synchronous database mirroring session status may remain disconnected when you set up synchronous database mirroring 」
http://support.microsoft.com/kb/912422/
となっています。
読める英語から妄想したら、今回のケースのようにも見えたりするのですが。。。
-
こんにちは、naginoです。
監視サーバからセカンダリサーバへ通信ができるかどうか(例えば監視サーバ上の SQL Server Management Studio からセカンダリサーバの DB にアクセスできるかどうか)、また監視サーバでセカンダリサーバのサーバ名をタイプミスしていないかどうか、をまずご確認ください。
なお蛇足ながら、監視サーバがセカンダリを「ダウンしている」と認識していると思われるので、現状では自動フェールオーバーはできないかもしれません。
プリンシパルのサービスを停止させた場合にどうなるか、技術的には興味があるところです。
一助になれば幸いです。
-
こんにちは、naginoです。
ご確認ありがとうございます。
以下のクエリを、プリンシパルとミラーで実行して「mirroring_role_desc」以外に差異がある場合は、ミラーリングの構築に失敗していると考えられます。
Code SnippetSELECT
DB_NAME(database_id) AS 'DatabaseName',
mirroring_role_desc,
mirroring_safety_level_desc,
mirroring_state_desc,
mirroring_safety_sequence,
mirroring_role_sequence,
mirroring_partner_instance,
mirroring_witness_name,
mirroring_witness_state_desc,
mirroring_failover_lsn
FROM sys.database_mirroring
WHERE mirroring_guid IS NOT NULL;その場合、再度手順を確認しながら設定しなおしになります。
クエリの結果に差異が無く、何らかのエラーログなどがあれば、そのログを手がかりに調べていくことになるかと思います。
もしクエリの結果に差異が無く、エラーログなども無い場合は、環境などを詳細に確認する必要が出てきますので、有償サポートの利用をご検討されたほうが良いかもしれません。
ご参考になれば幸いです。
すべての返信
-
直接の回答になっていませんが、
http://blogs.sqlpassj.org/mitsugi/archive/2006/03/24/16494.aspx
に詳細なミラーリングの設定手順が掲載されています。
ひょっとすると、ミラーリングの設定が途中で完了していないとかは無いでしょうか?
正しい状態は「同期中」のようです。
参考情報
SQL Server 2005 データベース ミラーリングの「データベース ミラーリングの状態と遷移」の項目
上三分の一あたりです。
http://www.microsoft.com/japan/technet/prodtechnol/sql/2005/dbmirror.mspx
-
ちょっと、ミラーリングの経験がないので、まとはずれな回答をしている気がしますが、、、
このFixが
「The synchronous database mirroring session status may remain disconnected when you set up synchronous database mirroring 」
http://support.microsoft.com/kb/912422/
となっています。
読める英語から妄想したら、今回のケースのようにも見えたりするのですが。。。
-
こんにちは、naginoです。
監視サーバからセカンダリサーバへ通信ができるかどうか(例えば監視サーバ上の SQL Server Management Studio からセカンダリサーバの DB にアクセスできるかどうか)、また監視サーバでセカンダリサーバのサーバ名をタイプミスしていないかどうか、をまずご確認ください。
なお蛇足ながら、監視サーバがセカンダリを「ダウンしている」と認識していると思われるので、現状では自動フェールオーバーはできないかもしれません。
プリンシパルのサービスを停止させた場合にどうなるか、技術的には興味があるところです。
一助になれば幸いです。
-
こんにちは、naginoです。
ご確認ありがとうございます。
以下のクエリを、プリンシパルとミラーで実行して「mirroring_role_desc」以外に差異がある場合は、ミラーリングの構築に失敗していると考えられます。
Code SnippetSELECT
DB_NAME(database_id) AS 'DatabaseName',
mirroring_role_desc,
mirroring_safety_level_desc,
mirroring_state_desc,
mirroring_safety_sequence,
mirroring_role_sequence,
mirroring_partner_instance,
mirroring_witness_name,
mirroring_witness_state_desc,
mirroring_failover_lsn
FROM sys.database_mirroring
WHERE mirroring_guid IS NOT NULL;その場合、再度手順を確認しながら設定しなおしになります。
クエリの結果に差異が無く、何らかのエラーログなどがあれば、そのログを手がかりに調べていくことになるかと思います。
もしクエリの結果に差異が無く、エラーログなども無い場合は、環境などを詳細に確認する必要が出てきますので、有償サポートの利用をご検討されたほうが良いかもしれません。
ご参考になれば幸いです。
-
こんにちは、フォーラムオペレータ 大久保です。
解決後に出てきてすみません。もしかして、ミラーリングの設定を FQDN ではなく、IP Address で設定してませんか?
その場合、設定直後は Disconnected になってしまう、という制限があるらしく、
解決するには(めんそうる さんがとられた対処法どおりですが)Witness を再起動する必要があるようです。
もし同じような現象に会われた方がいらっしゃったら、ダメもとでお試しください。それはそれとして、アドバイスを下さった皆様の投稿に「回答済み」チェックをつけさせていただきました。
今回、直接は めんそうる さんのお役に立てなかったんですが、これに懲りずにまたフォーラムをご利用いただければと思います。