「Microsoft SQL Server」が稼働するデータベースシステムを運用する管理者に向け、「動的管理ビュー」の活用を軸にしたトラブル対策のためのノウハウを紹介していきます。今回は、Always On 可用性グループにおける待ち受け中のポート情報の出力について解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載では、「Microsoft SQL Server(以下、SQL Server)」で使用可能な動的管理ビューについて、動作概要や出力内容などを紹介していきます。今回は、Always On 可用性グループにおける待ち受け中のポート情報を出力する「sys.dm_tcp_listener_states」について解説します。対応バージョンはSQL Server 2012以降です。
Always On 可用性グループで使用しているエンドポイントや可用性グループリスナーに限らず、SQL Serverではさまざまなポートを使用して接続を待ち受けています。「sys.dm_tcp_listener_states」を実行すると、可用性グループなどを含めてSQL Serverが使用しているポート番号や関連情報を出力します。
列名 | データ型 | 説明 |
---|---|---|
listener_id | int | リスナーの内部ID |
ip_address | nvarchar(48) | オンラインであり、現在リッスンしているリスナーのIPアドレス。IPv4とIPv6のどちらかを使用可能 |
is_ipv4 | bit | IPアドレスの種類。次のいずれかになる 1 = IPv4 0 = IPv6 |
port | int | リスナーがリッスンしているポート番号 |
type | tinyint | リスナーの種類。次のいずれかになる 0 = Transact-SQL 1 = Service Broker 2 = データベースミラーリング |
type_desc | nvarchar(20) | リスナーの種類の説明。次のいずれかになる TSQL SERVICE_BROKER DATABASE_MIRRORING |
state | tinyint | 可用性グループのリスナーの状態。次のいずれかになる 0 = オンライン。リスナーが要求のリスニングおよび処理中 1 = 再起動の保留中。リスナーはオフラインであり、再起動が保留されている |
state_desc | nvarchar(16) | 可用性グループのリスナーの状態説明。次のいずれかになる ONLINE PENDING_RESTART |
start_time | datetime | リスナーが起動された日時を示すタイムスタンプ |
今回の環境では、2つのノードでAlways On 可用性グループを構築しています(図1)。
「sys.dm_tcp_listener_states」を実行すると、多数のIPアドレスとポート番号が出力されました(図2)。
SQL Serverが起動する際に使用しているポートの情報として、「listener_id」列の1と2にSQL Serverが動的ポートで起動しているポート「49844」に関する情報が、「listener_id」列の3と4は管理者接続用に確保されたポート「49845」に関する情報が出力されています。
その後に、可用性グループの構築に必要なエンドポイント用のポート「5022」や、可用性グループリスナー用に作成したポート「1433」の情報が出力されています。なお「ip_address」列でIPv4のワイルドカードは「0.0.0.0」、IPv6のワイルドカードは「::」で表示されます。
※本Tipsは、「Windows Server 2019」上に「SQL Server 2019 CTP2」をインストールした環境を想定して解説しています。
日本ユニシス株式会社所属。Microsoft MVP for Data Platform(2017〜)。入社以来 SQL Serverの評価/設計/構築/教育などに携わりながらも、主にサポート業務に従事。SQL Serverのトラブル対応で社長賞の表彰を受けた経験も持つ。休日は学生時代の仲間と市民駅伝に参加し、銭湯で汗を流してから飲み会へと流れる。
日本ユニシス株式会社所属。入社以来SQL Server一筋で評価/設計/構築/教育などに携わりながらも、主にサポート業務に従事。社内のプログラミングコンテストで4回の優勝経験も持つ。趣味は輪行で週末は自転車を持っての旅行。目標は色々な日本百選を制覇すること。
Copyright © ITmedia, Inc. All Rights Reserved.