SQL Server が特定の TCP ポートでリッスンするように構成する

適用対象:SQL Server

この記事では、SQL Server 構成マネージャーを使用し、SQL Server データベース エンジンのインスタンスが特定の固定ポートで受信待ちするように構成する方法について説明します。 SQL Server データベース エンジン の既定のインスタンスは、有効であれば TCP ポート 1433 で受信待ちします。 データベース エンジン と SQL Server Compact の名前付きインスタンスは、 動的ポートを使用するように構成されています。 つまり、これらのインスタンスでは、 SQL Server サービスの開始時に、使用可能なポートが選択されます。 名前付きインスタンスにファイアウォール経由で接続する場合、特定のポートで受信待ちするようにデータベース エンジンを構成します。それにより、ファイアウォールで適切なポートを開くことができます。

ポート 1433 は SQL Server の既知の標準であるため、セキュリティを強化するために SQL Server のポート番号を変更する必要があると指定されることがあります。 環境によってはそれが役に立つことがあります。 ただし、TCP/IP アーキテクチャではポート スキャナーで開いているポートをクエリすることが許可されているため、ポート番号の変更は堅牢なセキュリティ対策とは見なされません。

Windows ファイアウォールの既定の設定の詳細と、データベース エンジン、Analysis Services、Reporting Services、および Integration Services に影響する TCP ポートの説明については、「 SQL Server のアクセスを許可するための Windows ファイアウォールの構成」をご覧ください。

ヒント

ポート番号を選択する際は、特定のアプリケーションに割り当てられているポート番号の一覧を https://www.iana.org/assignments/port-numbers で確認し、 未割り当てのポート番号を選択してください。 詳細については、「 Windows Vista および Windows Server 2008 では TCP/IP の既定の動的ポート範囲が変更されている」を参照してください。

警告

データベース エンジンは、再起動時に新しいポート上でリッスンを開始します。 ただし SQL Server Browser サービスは、レジストリを監視し、データベース エンジンが使用していない可能性があっても、構成が変更されるとすぐに新しいポート番号をレポートします。 一貫性を確保し、接続エラーを避けるために、データベース エンジンを再開します。

SQL Server 構成マネージャーを使用する

SQL Server データベース エンジンに TCP/IP ポート番号を割り当てる

  1. SQL Server 構成マネージャーのコンソール ペインで、[SQL Server ネットワークの構成] を展開し、[<インスタンス名>のプロトコル] を選んでから、右側のペインの [TCP/IP] をダブルクリックします。

    注意

    SQL Server 構成マネージャーを開く際に問題がある場合は、「 SQL Server 構成マネージャー」を参照してください。

  2. [TCP/IP のプロパティ] ダイアログ ボックスの [IP アドレス] タブに、 IP1IP2という形式で IPAllまで IP アドレスが表示されます。 このうちいずれかが、ループバック アダプターの IP アドレス 127.0.0.1 です。 追加の IP アドレスがコンピューターの各 IP アドレスに対して表示されます。 (IP バージョン 4 と IP バージョン 6 の両方のアドレスが表示されることがあります)。各アドレスを右クリックし、[プロパティ] を選択して構成する IP アドレスを識別します。

  3. [TCP 動的ポート] ダイアログ ボックスには、 が動的ポートで受信待ちすることを示す0 データベース エンジン が表示されています。この 0 を削除します。

    TCP ポートのスクリーンショット。

  4. [IPn プロパティ] エリア ボックスの [TCP ポート] ボックスにこの IP アドレスを受信待ちするポート番号を入力し、[OK] を選択します。 複数のポートを指定する場合は、コンマで区切ります。 [OK] を選択します。

    注意

    [プロトコル] タブの [すべて受信待ち] 設定が [はい] に設定されている場合、 [IPAll] セクションの [TCP ポート][TCP 動的ポート] の値のみが使用され、個々の [IPn] セクションは完全に無視されます。 [すべて受信待ち] の設定が [いいえ] に設定されている場合、 [IPAll] セクションの [TCP ポート][TCP 動的ポート] の設定は無視され、個々の [IPn] セクションの [TCP ポート][TCP 動的ポート] 、および [有効] の設定が代わりに使用されます。

    [IPn] セクションには、既定値が [いいえ] の [有効] 設定があります。[いいえ] では、ポートが定義されている場合でも、SQL Server でこの IP アドレスは無視されます。

  5. コンソール ペインで、[再起動] を選択します。

  6. 詳細ペインで [SQL Server (<インスタンス名>)] を右クリックします。次に、[再起動] を選択し、SQL Server を停止し、再起動します。

接続する

特定のポートで受信待ちするように SQL Server を構成した後に、次の 3 つの方法でクライアント アプリケーションを使用して特定のポートに接続できます。

  • サーバーで SQL Server Browser サービスを実行し、名前を使用して データベース エンジン のインスタンスに接続する。
  • ポート番号を指定してクライアント上に別名を作成する。
  • クライアントで、カスタム接続文字列を使用して接続するように指定します。

関連項目