次の方法で共有


sys.database_connection_stats (Azure SQL Database)

適用対象: Azure SQL Database

SQL Database データベース 接続性 イベントの統計が含まれており、データベース接続の成功と失敗の概要を示します。 接続イベントの詳細については、「 sys.event_log (Azure SQL Database)のイベントの種類」を参照してください。

統計 説明
database_name sysname データベース名。
start_time datetime2 集計間隔の開始の UTC 日時。 この時刻は常に 5 分の倍数です。 次に例を示します。

'2022-03-30 16:00:00'
'2022-03-30 16:05:00'
'2022-03-30 16:10:00'
end_time datetime2 集計間隔の終了の UTC 日時。 End_time は、同じ行の対応する start_time より常に 5 分後です。
success_count int 成功した接続の数。
total_failure_count int 失敗した接続の合計数。 これは、 connection_failure_countterminated_connection_count、および throttled_connection_countの合計であり、デッドロック イベントは含まれません。
connection_failure_count int ログインエラーの数。
terminated_connection_count int この列は使用されず、下位互換性のために保持されます。
throttled_connection_count int この列は使用されず、下位互換性のために保持されます。

解説

イベントの集計

このビューのイベント情報は、5 分未満の間隔で収集および集計されます。 count 列は、指定された時間間隔内で特定のデータベースに対して特定の接続イベントが発生した回数を表します。

たとえば、ユーザーが 2022 年 3 月 30 日 (UTC) の 11:00 から 11:05 の間にデータベース Database1 に 7 回接続できない場合、この情報はこのビューの 1 行で使用できます。

database_name start_time end_time success_count total_failure_count connection_failure_count terminated_connection_count throttled_connection_count
Database1 2022-03-30 11:00:00 2022-03-30 11:05:00 0 7 7 0 0

間隔のstart_timeとend_time

イベントは、イベントが on または after start_time および before end_time に発生した場合に集計間隔に含まれます。 たとえば、2022-03-30 19:25:00.0000000 に発生したイベントは、下に示す例では 2 つ目の間隔にのみ含まれます。

start_time                    end_time  
2022-03-30 19:20:00.0000000   2022-03-30 19:25:00.0000000  
2022-03-30 19:25:00.0000000   2022-03-30 19:30:00.0000000  

データ更新

このビューのデータは、時間の経過と同時に蓄積されます。 通常、データは集計間隔の開始から 1 時間以内に累積されますが、すべてのデータがビューに表示されるまで最大で 24 時間かかる場合があります。 その間に、1 つの行内の情報が定期的に更新されることがあります。

データの保持

このビューのデータは、最大 30 日間保持されるか、データベースの数と各データベースが生成する一意のイベントの数に応じて少なくなる可能性があります。 この情報をより長期間にわたって保持するには、データを別のデータベースにコピーします。 ビューの最初のコピーを行った後に、そのビューの行がデータの累積に伴って更新されることがあります。 データのコピーを最新の状態に保つには、定期的に行のテーブル スキャンを行うことにより、既存の行のイベント数の増加を検出し、新しい行を特定して (開始時刻と終了時刻を使用して一意の行を識別できます)、これらの更新内容をデータのコピーに反映させます。

エラーは含まれません

このビューには、すべての接続とエラー情報が含まれていない場合があります。

  • このビューには、発生する可能性のあるすべての SQL Database データベース エラーは含まれません。 sys.event_log (Azure SQL Database)のイベントの種類で指定されたエラーのみが含まれます。
  • SQL Database データセンター内でマシンの障害が発生した場合、イベント テーブルに少量のデータが不足している可能性があります。
  • DoSGuard を介して IP アドレスがブロックされている場合、その IP アドレスからの接続試行イベントを収集することはできず、このビューには表示されません。

アクセス許可

Azure SQL Database のサーバー上の master データベースにアクセスするためのアクセス許可が必要です。

この例では、sys.database_connection_statsクエリを実行して、2022 年 3 月 29 日の正午から 2022 年 3 月 30 日の正午 (UTC) の間に発生したデータベース接続の概要を返します。 Azure SQL Database のサーバー上の master データベースに接続クエリを実行します。

SELECT database_name, start_time, end_time, success_count, total_failure_count, connection_failure_count
FROM sys.database_connection_stats
WHERE start_time>='2022-03-29 12:00:00' and end_time<='2022-03-30 12:00:00'
ORDER BY start_time ASC; 

次のステップ

Azure SQL Database について詳しくは、次の記事をご覧ください。