次の方法で共有


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

適用対象: SQL Server

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

Note

ポート 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] をダブルクリックします。

    Note

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

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

  3. TCP 動的ポート ダイアログ ボックスに、データベース エンジンが動的ポートをリッスンしていることを示す 0 が含まれている場合は、0 を削除します。

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

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

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

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

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

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

接続する

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

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