MSSQLSERVER_1418

適用対象:SQL ServerAzure SQL Managed Instance

詳細

属性
製品名 SQL Server
イベント ID 1418
イベント ソース MSSQLSERVER
コンポーネント SQLEngine
シンボル名 DBM_PARTNERNOTFOUND
メッセージ テキスト サーバー ネットワーク アドレス "%.*ls" にアクセスできないか、このアドレスが存在しません。 ネットワーク アドレス名と、ローカル エンドポイントおよびリモート エンドポイントのポートが操作可能であることを確認してください。

説明

指定されたサーバー ネットワーク アドレスにアクセスできないか、このアドレスが存在しないため、サーバー ネットワーク エンドポイントが応答しませんでした。

Note

既定では、Microsoft オペレーティング システムはすべてのポートをブロックします。

ユーザーの操作

ネットワーク アドレス名が正しいかどうかを確認して、コマンドを再発行します。

場合によっては、両方のパートナーで修正措置を行う必要があります。 例えば、主サーバーインスタンスで SET PARTNERを実行しようとした際にこのメッセージが出た場合、ミラーサーバーインスタンスに対しては修正措置を取ればよいというメッセージが示唆されることがあります。 しかし、実際には、両方のパートナーで修正措置を行う必要があります。

その他の修正措置

  • ミラー データベースがミラーリングできる状態であることを確認します。

  • ミラー サーバー インスタンスの名前およびポートが正しいことを確認します。

  • 対象となるミラー サーバー インスタンスがファイアウォールの背後に配置されていないことを確認します。

  • プリンシパル サーバー インスタンスがファイアウォールの背後に配置されていないことを確認します。

  • sys.database_mirroring_endpoints カタログ ビューの state または state_desc 列を使用して、両方のパートナーでエンドポイントが開始されていることを確認します。 どちらかのエンドポイントが起動しない場合は、 ALTER ENDPOINT 文を実行して起動します。

  • プリンシパル サーバー インスタンスがデータベース ミラーリング エンドポイントに割り当てられているポートでリッスンし、ミラー サーバー インスタンスがミラー サーバー インスタンスのポートでリッスンしていることを確認します。 詳細については、このトピックの「ポートの可用性の検証」を参照してください。 パートナーが割り当てられたポートでリッスンしていない場合は、データベース ミラーリング エンドポイントを変更して、別のポートでリッスンするようにします。

    重要

    セキュリティ構成が不適切な場合、一般的なセットアップ エラー メッセージが表示されることがあります。 通常、サーバー インスタンスは無効な接続要求に応答せず、破棄してしまいます。 呼び出し元には、ミラー データベースの状態が正しくない、ミラー データベースが存在しない、権限が不適切など、別のさまざまな理由でセキュリティ構成エラーが発生したように示される場合があります。

診断のためのエラー ログ ファイルの使用

調査のために利用できるのがエラー ログ ファイルだけである場合があります。 その場合は、エラー ログを参照し、データベース ミラーリング エンドポイントの TCP ポートに対するエラー メッセージ 26023 が含まれていないかどうかを調べます。 重大度 16 のこのエラーは、データベース ミラーリング エンドポイントが開始されていないことを示している可能性があります。 これは、sys.database_mirroring_endpoints でエンドポイントの状態が開始済みと示されている場合でも発生します。

問題が解決したら、主サーバーでALTER DATABASEdatabase_nameSET PARTNER文を再実行してください。

ポートの可用性の検証

データベース ミラーリング セッションのネットワークを構成する際、各サーバー インスタンスのデータベース ミラーリング エンドポイントがデータベース ミラーリング プロセスでのみ使用されていることを確認します。 データベース ミラーリング エンドポイントに割り当てられたポートで別のプロセスがリッスンしている場合、他のサーバー インスタンスのデータベース ミラーリング プロセスはそのエンドポイントに接続できません。

Windows ベースのサーバーがリッスンしているすべてのポートを表示するには、netstat コマンド プロンプト ユーティリティを使用します。 netstat の構文は、Windows オペレーティング システムのバージョンによって異なります。 詳細については、オペレーティング システムのマニュアルを参照してください。

Windows Server 2003 サービスパック1(SP1)

リッスンしているポートおよびそれらのポートを開いているプロセスを一覧表示するには、Windows コマンド プロンプトで次のコマンドを入力します。

netstat -abn

Windows Server 2003 (SP1 適用前)

リッスンしているポートおよびそれらのポートを開いているプロセスを確認するには、次の手順に従います。

  1. プロセス ID を取得します。

    SQL Server のインスタンスのプロセス ID を学習するには、そのインスタンスに接続し、次の Transact-SQL ステートメントを使用します。

    SELECT SERVERPROPERTY('ProcessID')   
    

    詳細については、SQL Server オンライン ブックの「SERVERPROPERTY (Transact-SQL)」を参照してください。

  2. 取得したプロセス ID と、次の netstat コマンドの出力とを照合します。

    Netstat -ano

参照

ALTER ENDPOINT (Transact-SQL)
データベース ミラーリング エンドポイント (SQL Server)
ミラーリングのためのミラー データベースの準備 (SQL Server)
SERVERPROPERTY(Transact-SQL)
サーバー ネットワーク アドレスの指定 (データベース ミラーリング)
sys.database_mirroring_endpoints(Transact-SQL)
データベース ミラーリング構成のトラブルシューティング (SQL Server)