SQLShack (日本語)

この記事は、SQLServer管理の初心者に役立ちますまた、SQL Serverポート、現在構成されているポートを識別する方法についての洞察を提供します。

はじめに

通信目的のサービスのエンドポイントとしてポートを定義できます。特定のアプリケーションまたはサービスにバインドする可能性があります。 SQL Serverをインストールすると、SQLServerサービスのデフォルトポートが構成されます。各クライアントアプリケーションは、IPアドレスとポート番号の組み合わせを使用してSQLServerに接続します。

SQLServerには2種類のSQLServerポートを含めることができます。

  1. 静的ポート:静的ポートは常にサービスまたはアプリケーションにバインドされます。サービスやシステムの再起動によって変更されることはありません。デフォルトでは、SQLServerはデフォルトインスタンスMSSQLSERVERに静的TCPポート番号1433を使用します。デフォルトポート以外の静的ポートを使用するようにSQLServerを構成する場合は、接続文字列で指定するようにクライアントまたはアプリケーションの所有者に伝達する必要があります。
  2. 動的ポート:SQLServerを構成して動的ポート。動的ポート割り当てを使用する場合は、ネットワーク構成でポート番号ゼロを指定します。 SQL Serviceが再起動すると、オペレーティングシステムに空きポート番号を要求し、そのポートをSQLServerに割り当てます。

    ご存知のように、アプリケーションはSQL ServerのIPアドレスとポート番号の組み合わせを使用します。疑問が生じるかもしれません–アプリケーションはSQLServerに接続するためのポート番号をどのように知るのでしょうか。

オペレーティングシステムが動的SQLServerポートをSQLServerに割り当てると、そのポート番号をWindowsレジストリに書き込みます。 SQL Server Browserサービスは、UDP静的ポート1434を使用します。割り当てられたTCPポートのレジストリを読み取ります。 SQL Serverクライアントライブラリは、ポート1434を使用してUDPメッセージに接続して送信します。SQLServerブラウザサービスは、特定のインスタンスのポート番号を返します。アプリケーションは、その動的SQLServerポートを使用してSQLServerに接続できます。 SQLServerのデフォルトインスタンスは静的ポートを使用します。したがって、SQLServerブラウザはデフォルトインスタンスのポートを返しません。

ほとんどの場合、SQL Serverは、SQLサービスの再起動時に同じ動的SQLServerポートを使用します。 SQL Servicesを停止し、オペレーティングシステムが動的ポート番号(以前はSQLに割り当てられていた)を別のサービスに割り当てたとすると、SQLServerは別の動的ポートを割り当てられます。

SQL Browserサービスは、動的ポートが割り当てられた名前付きインスタンスに不可欠です。 。アプリケーションがポートの詳細を照会および取得するには、実行ステータスになっている必要があります。

SQLServerポート番号の確認

このセクションでは、SQLServerポート番号を確認するための別の方法を確認します。

方法1:SQL Server構成マネージャー:

SQLServerのポート番号を見つける最も一般的な方法です。

  • ステップ1:

    スタートメニューからSQLServer構成マネージャーを開きます。複数のSQLServerバージョンがある場合、SQLServer構成マネージャーを開いているときにエラーメッセージが表示されることがあります。

    WMIプロバイダーに接続できません。権限がないか、サーバーにアクセスできません

    修正するには、管理コマンドプロンプトを開き、次のコマンドを実行します

    1

    > mofcomp “%programfiles(x86 )%\ Microsoft SQL Server \ 150 \ Shared \ sqlmgmproviderxpsp2up.mof “

    このコマンドで、SQLServerのバージョンを変更します

    • SQL 2008 – 100
    • SQL 2012 – 110
    • SQL 2014 – 120
    • SQL2016 – 130
    • SQL 2017 – 140
    • SQL 2019 – 150

  • ステップ2:

    ネットワーク構成に移動し、SQLポートを確認するSQLインスタンスをクリックします

  • ステップ3:

    プロトコルリストを開きます。 TCP / IPとプロパティを右クリックします

  • ステップ4:IPアドレスをクリックし、IPAllまでスクロールダウンしますグループ。次のスクリーンショットで、TCP動的SQLポートとTCPポートを確認できます。

    TCP動的ポート値は、動的ポート構成を使用していることを示しています。現在割り当てられているTCP動的SQLポートは51688です。

    静的ポートを使用する場合は、動的ポート値を削除し、TCPポートに静的ポートを指定します。このポート番号は一意であり、他のアプリケーションで使用されていない必要があります。この変更を有効にするには、SQLServicesを再起動する必要があります

    • 注:SQLServer構成マネージャーのみを使用してSQLServerポート構成を変更する必要があります。

方法2:SQL Serverエラーログ:

SQL Serverは、SQLを再起動するたびにSQLServerエラーログにエントリを記録します。サービス。拡張ストアドプロシージャxp_readerrorlogを使用して、特定のキーワードを使用してエラーログをフィルタリングできます。

次のクエリでは、拡張ストアドプロシージャxp_readerrorlogを使用してチェックします。サーバーがキーワードをリッスンしているため。

1
2
3

EXEC xp_ReadErrorLog 0、1、N “サーバーはリッスンしています”、N “any”、NULL、NULL、 “DESC”
GO

現在のSQLServerインスタンスが構成されているSQLServerポートの詳細を取得します。

  • 注:エラーログを定期的にリサイクルしている場合、この方法を使用してSQLServerポートを見つけることができない場合があります。

方法3:xp_instance_regreadを使用してレジストリからSQLServerポートを取得します。

拡張ストアドプロシージャを使用してSQLポート値を取得できます。 SSMSで次のコードを実行して、現在接続されているSQLインスタンスの動的ポートを取得します。

@ Value_name = TcpPortを使用して、静的ポートの詳細を取得できます。

方法4:sys.dm_exec_connectionsDMVを使用してSQLServerポートを取得する:

sys.dm_exec_connections DMVを使用して、接続されたSQLServerインスタンスのTCPポートを確認できます。 @@ SPID変数を使用して現在のセッションSPIDを返します。

1
2
3
4

SELECT local_tcp_port
FROMsys。 dm_exec_connections
WHERE session_id = @@ SPID;
GO

方法5:Windowsイベントビューアを使用してSQL Serverポートを取得する:

Windowsイベントビューアを使用してSQLを確認することもできますサーバーポートの詳細。 SQLサービスを再起動すると、WindowsイベントビューアもSQLポートのエントリを取得します。 Windowsイベントビューアには、多数のイベントがある場合があります。イベントID26022のイベントログをフィルタリングすることをお勧めします。

[実行]に移動して、eventvwrと入力します。 Windowsイベントビューアコンソールを開きます。 [現在のログをフィルタリング]をクリックします。

イベントID26022を指定し、[OK]をクリックします

イベントビューアには、サーバーにインストールされているすべてのSQLServerのイベントが表示されます。特定のインスタンスを探して、ポート番号を確認できます。

イベントソースのドロップダウンリストで特定のSQLインスタンスを選択することもできます。

次のスクリーンショットでは、WindowsイベントビューアにSQLServerポートのエントリが表示されています。

結論

この記事では、SQL Serverポートをチェックし、静的および動的ポート構成を変更する方法を調査および特定しました。コメントや質問がある場合は、下のコメントに自由に残してください。

  • 作成者
  • 最近の投稿
インドのグルガオンでMCSA認定およびMicrosoft認定トレーナーとして13年の経験を持つラジェンドラは、パフォーマンスの最適化、監視、高可用性に重点を置いたさまざまな大企業で働いています。 、およびディザスタリカバリの戦略と実装。彼は、SQL Server、Azure、MySQL、Linux、Power BI、パフォーマンスチューニング、AWS / Amazon RDS、Git、およびこれまでに1,000万人以上の読者が閲覧した関連テクノロジーに関する何百もの信頼できる記事の著者です。
彼は、SQL Server Always On可用性グループに関する50部構成のシリーズで、単一のトピックに関する記事の最大の無料オンラインコレクションの1つを作成しています。 SQL Serverコミュニティへの貢献に基づいて、彼は2020年と2021年にSQLShackで継続的に名誉ある「年間最優秀作家」を含むさまざまな賞を受賞しています。
Rajは常に新しい課題に関心を持っているため、コンサルティングが必要な場合は彼の著作で取り上げられている主題についてのヘルプは、rajendra.gupta16 @gmailで連絡できます。com
RajendraGuptaによる投稿をすべて表示

Rajendra Guptaによる最新の投稿(すべて表示)
  • SQLServerのAlwaysOn可用性グループでのセッションタイムアウト-2021年2月8日
  • のマイナーバージョンとメジャーバージョンのアップグレードの実行 AWS RDS SQLServer- 2021年1月29日
  • AWS RDSPostgreSQLインスタンスのデプロイ-2021年1月27日

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です