HOME >> Tips >> Microsoft SQL Server

データベースミラーリングの構成で「1418」エラーが発生する際の対応

2017/3/2
文書番号:20701

データベースミラーリングを構成する際に以下のようなエラーが発生しました。

===========================================================
ミラーリングの開始中にエラーが発生しました。
追加情報:
 データベース'xxx'の Alter に失敗しました。 (Microsoft.SqlServer.smo)
  Transact-SQL ステートメントまたはバッチの実行中に例外が発生しました。
  (Microsoft.SqlServer.ConnectionInfo)
   サーバー ネットワーク アドレス "TCP://サーバー名:5022" にアクセスできないか、 このアドレスが存在しません。ネットワーク アドレス名と、ローカル エンドポイントおよびリモート エンドポイントのポートが操作可能であることを確認してください。 (Microsoft SQL Server、エラー:1418)
===========================================================

クリックで拡大


これはデータベース間の通信が確立できないために発生します。

原因は様々に考えられますので以下の手順で確認します。

【確認方法】

  1. 指定しているコンピューター名が正しいことを確認します。
    ※「セキュリティの構成」ウィザード中で接続しているので基本的にないと思いますが。
  2. 指定しているコンピューター名で名前解決ができるか、解決したIPアドレスが正しいかを確認します。
    →名前解決ができない場合はDNSサーバーの設定を確認します。
     ローカル環境にDNSサーバーが存在しない場合はhostsに書いて名前解決できるようにします。
  3. 指定しているコンピューター名を指定してPing 応答があるか確認します。
    →Ping 応答がない場合、電源が入っているか、ハングしていないかを確認します。
     ネットワーク的に離れている場合(ルーター等の機器を介する場合)、ルーティング等に問題がないか確認します。
     ※Windows Server 2012 はデフォルトではファイアウオールによってPing 応答を返しません。
     以下のページを参照し、一時的にでもPing応答を返すようにして確認してください。
     Windows ファイアウォールで Ping 応答を許可する
  4. ファイアウオールが正しく構成されているか確認します。
    ミラーリング用のポート(デフォルト:5022)を許可するように構成されている必要があります。

    ファイアウオールの設定は次のページをご参照ください。(内容はどちらも同じです。)
    ワークグループ環境で データベースミラーリングを構成する
    ドメイン環境で データベースミラーリングを構成する
  5. SQL Server 間がネットワーク的に離れている場合(ルーター等のネットワーク機器を介する場合)、ネットワーク機器などのファイアウオールによってブロックされていないか確認します。

  6. その他、通信がうまくいかない要因がないか確認します。