SQL Serverでの PortQryUI ツールの使用

PortQry は、TCP/IP 接続の問題のトラブルシューティングに使用できるコマンド ライン ツールです。 このツールは、ローカル コンピューターまたはリモート コンピューター上のターゲット TCP ポートとユーザー データグラム プロトコル (UDP) ポートの状態を報告します。 PortQryUI.exe を使用すると、PortQry のコマンド ラインではなく UI を使用できます。

この記事では、Microsoft SQL Serverに影響する接続の問題をトラブルシューティングするときに PortQryUI ツールを使用する方法について説明します。 PortQry コマンド ライン ツールの詳細については、「 PortQry コマンド ライン ツールの使用」を参照してください。

注:

PortQryUI はトラブルシューティング ツールとして使用することを目的としているため、このツールを効果的に使用するには、コンピューティング環境に関する十分な知識が必要です。

PortQryUI ツールについて

PortQryUI ツールは、次のタスクを実行するのに役立ちます。

  • TCP/IP 接続の問題を解決します。
  • ローカル コンピューターまたはリモート コンピューターの TCP ポートと UDP ポートの状態を表示します。
  • SQL Serverに影響するさまざまな接続の問題のトラブルシューティング。

PortQryUI ツールは、Microsoft ダウンロード センターからダウンロードできます。

PortQryUI - PortQry コマンド ライン ポート スキャナーのユーザー インターフェイス

PortQryUI ツールの操作

コンピューターまたはリモート コンピューターの接続の問題を解決するには、次の手順に従います。

  1. クライアント コンピューターで PortQryUI を起動します (接続の問題が発生しています)。

  2. [ クエリ対象の IP または FQDN の入力] ボックスで、ポートの状態を把握するコンピューターの IP アドレスまたは FQDN 名を指定します。

  3. [ クエリ定義済みサービス] を選択し、[ SQL サービス] を選択します。 コンピューター上のポートは、使用するサービスの種類によってグループ化されます。 サービスの種類でクエリを実行できます。 定義済みのサービスは次のとおりです。

    • ドメインと信頼
    • DNS クエリ
    • NetBIOS 通信
    • Ipsec
    • SQL Service
    • WEB サービス
    • Exchange Server
    • Netmeeting とその他のサービス
  4. 情報を指定したら、[クエリ] を選択し、出力をチェックします。 PortQryUI ツールで表示される出力をデコードする方法の詳細については、「SQL Server接続の問題の考えられる原因と推奨される回避策」セクションを参照してください。

注:

SQL Server ベースのコンピューターへの管理者アクセス権がある場合は、そのコンピューターで SQL 接続設定チェック ツールをダウンロードして実行し、次のセクションと組み合わせて出力を確認できます。

SQL Server接続の問題と推奨される回避策の考えられる原因

インスタンスの種類: 既定のインスタンス

PortQry からの出力: TCP port 1433 (ms-sql-s service): NOT LISTENING

考えられる原因: この問題には、次のいずれかの原因が考えられます。

  • SQL Serverが開始されていません。
  • TCP/IP は、SQL Server プロトコルの一覧で有効になっていません。
  • SQL Serverは、既定以外のポート (チェック エラー ログ) でリッスンしています。
  • クライアントとサーバーの間のファイアウォールがポートをブロックしています。

推奨される回避策: 次の回避策を試してください。

  • SQL Serverが開始されていることを確認します。
  • SQL Serverネットワーク構成でサーバー インスタンスに対して TCP/IP が有効になっていることを確認します。
  • SQL Serverエラー ログでポート番号を確認します。 これを接続文字列の servername\portnumber 形式で使用します。
  • ネットワークまたは Windows 管理者に問い合わせて、TCP ポート 1433 (または現在構成されているSQL Server ポート) が、ネットワーク上のファイアウォールまたはSQL Server システム上の Windows ファイアウォールによってブロックされていないことを確認します。 SQL Server インスタンスと連携するように Windows ファイアウォールを構成するには、「Windows ファイアウォールの構成」を参照してください。

インスタンスの種類: 既定のインスタンス

PortQry からの出力: TCP port 1433 (ms-sql-s service): LISTENING

考えられる原因: この問題は、クライアント ライブラリがSQL Server ベースのコンピューターに接続できることを示していますが、アプリケーション 層内の他の何かが問題の原因である可能性があることを示しています。

推奨される回避策: 次の回避策を試してください。

  • 接続文字列でサーバー名が正しく指定されているかどうかを確認します。 接続文字列がポート番号を使用している場合は、正しく指定されていることを確認してください。
  • 接続文字列がポート番号を使用している場合は、正しい値に設定されていることを確認します。 クライアント コンピューターで古いエイリアスが定義されていないことを確認します。
  • SQL Server 構成マネージャーまたはクライアント システムの SQL Server クライアント ネットワーク ユーティリティ (Cliconfg.exe) の [エイリアス] タブで、SQL Server インスタンスへのエイリアスが存在することを確認します。

インスタンスの種類: 名前付きインスタンス

PortQry からの出力: UDP port 1434 (ms-sql-m service): FILTERED

考えられる原因: この問題には、次のいずれかの原因が考えられます。

  • 名前付きインスタンスSQL Serverが開始されていません。
  • SQL Server インスタンスをホストしているシステムで、SQL Server ブラウザーが起動していません。
  • UDP ポート 1434 は、SQL Server ベースのコンピューター上のファイアウォール、またはクライアントとサーバーの間のネットワークでブロックされます。
  • サービスが開始されます。

推奨される回避策: 次の回避策を試してください。

  • 名前付きインスタンスSQL Serverを起動します。
  • SQL Server ブラウザー サービスを開始してみてください。
  • ネットワークまたは Windows 管理者と連携して、UDP ポート 1434 がネットワーク上のファイアウォールまたはSQL Server システム上の Windows ファイアウォールによってブロックされていないことを確認します。 SQL Serverと連携するように Windows ファイアウォールを構成するには、「Windows ファイアウォールの構成」を参照してください。
  • ファイアウォールで UDP 1434 を開くことができない場合は、静的ポートでリッスンするように名前付きインスタンスSQL Serverを構成し、接続文字列で servername\portnumber を使用する必要があります。

インスタンスの種類: 名前付きインスタンス

PortQry からの出力: UDP port 1434 is LISTENING

考えられる原因: この問題は、クライアント ライブラリがSQL Server ベースのコンピューターに接続できることを示しています。 ただし、アプリケーション層内の他の何かが問題の原因である可能性があります。

推奨される回避策: 次の回避策を試してください。

  • サーバー名とポート番号が接続文字列で正しく指定されていることを確認します。
  • クライアント コンピューターに古いエイリアスが定義されていないことを確認します。 SQL Server 構成マネージャーまたはクライアント システムの SQL Server クライアント ネットワーク ユーティリティ (Cliconfg.exe) の [エイリアス] タブで、SQL Server インスタンスにエイリアスが存在する場合は、チェックを実行します。

PortQryUI ツールを使用すると、接続の問題にさまざまなシナリオが発生する可能性があります。 次の各スクリーンショットでは、インスタンスの種類と接続が成功したかどうかに基づいて出力が表示されます。 接続が正しく行われると、"リッスン中" の値が表示されます。 接続が発生しない場合は、値 "Filtered" が表示されます。

次の出力は、接続が成功した既定のポートの既定のインスタンスからの出力です。

接続が成功した既定のポートの既定のインスタンスを示すスクリーンショット。

既定のポートの既定のインスタンスの接続が失敗した場合、次のスクリーンショットに示すように出力が表示されます。

既定のポート上の既定のインスタンスの接続が失敗したことを示すスクリーンショット。

名前付きインスタンスの接続が成功した場合 (たとえば、インスタンス名が "SQL 2014" で、ホスト名が "SQLCONNVM" である場合)、次のスクリーンショットに示すように出力が表示されます。

名前付きインスタンスの正常な接続のスクリーンショット。

名前付きインスタンスの接続が失敗した場合、次のスクリーンショットに示すように出力が表示されます。

名前付きインスタンスの接続が失敗したことを示すスクリーンショット。