異なる場所にある2つのライブサーバーで同じことを行う前のテスト実行として、内部ネットワークの異なるサーバーにある2つのSQL 2008データベース間のミラーリングをセットアップしようとしています.
実際にターゲット DB のミラーリングを切り替えようとすると (ALTER DATABASE testdb SET PARTNER = N'TCP://myNetworkAddress:5022' を使用)、サーバー ネットワーク アドレスに到達できない、または到達できないというエラーが表示されます。存在しない。ちょっとした調査によると、これは多くの考えられる原因が原因でポップアップ表示されるかなり役に立たないメッセージであり、そのうちのいくつかはサーバーの存在またはその他に直接関係していないことが示唆されています.
これまでのところ、この問題を解決するために次のことを確認して試しました。
ターゲット サーバーで、SQL 構成マネージャーで "Protocols for SQLEXPRESS" であることを確認しました (SERVERPROPERTY('Edition') をクエリすると 64 ビット エンタープライズであることがわかりますが、ローカル インストールには何らかの理由で SQLEXPRESS というラベルが付けられています)。 SQL Native Client 10 のクライアント プロトコルはすべて TCP/IP が有効になっています
CurrPorts というユーティリティ プログラムを使用して、ミラーリング セットアップ (5022) で指定されたのと同じ番号の TCP/IP ポートが開いていて、マシンでリッスンしていることを確認しています。Netstat は、両方のマシンがこのポートでリッスンしていることを確認します。
SELECT type_desc, port FROM sys.tcp_endpoints; を実行しました。および SELECT state_desc, role FROM sys.database_mirroring_endpoints を使用して、すべてが適切に設定されていることを確認します。私を混乱させた唯一のことは、「役割」が1を返すことでした..それが何を意味するのか完全にはわかりません。
DBを正しく準備しようとしました。データベースとログ ファイルのバックアップをマスター DB から取得し、NORESTORE を使用してターゲット データベースに復元しました。NORESTORE 状態のままにして、空の RESTORE を実行しながら、両方をミラーリングしてみましたが、どちらも大きな違いはないようです。テストとして、私が作成した非アクティブでほぼ空のデータベースをミラーリングしようとしましたが、それもうまくいきませんでした。
どちらのサーバーもファイアウォールの背後にないことを確認しました (異なるマシン上にありますが、両方とも同じネットワーク上にあります)。
次はどこに向かえばいいのかわからない。次の 2 つのトラブルシューティング ヘルプ ページを見ました。
http://msdn.microsoft.com/en-us/library/ms189127.aspx
http://msdn.microsoft.com/en-us/library/aa337361.aspx
そして、私が知る限り、すべてのポイントを無駄に実行しました.
もう 1 つ確信が持てないのは、ウィザードのサービス アカウント ボックスです。両方のデータベースに対して、データベースに対する完全な管理者権限を持つ必要がある高レベルのアクセス アカウント名を入力しました。これは正しいことだと思いました。
この問題のトラブルシューティングを行うために、次にどこを参照すればよいかわかりません。感謝して受け取った提案。
乾杯、マット