sys.event_log (Azure SQL データベース)
適用対象:Azure SQL Database
データベース データベース接続と接続エラー Azure SQL正常に返されます。 この情報を使用して、データベースの利用状況の追跡またはトラブルシューティングを行うことができます。
注意事項
データベースの数が多い論理サーバーやログイン数が多い 論理サーバー の場合、sys.event_logクエリを実行すると、マスター データベースでリソースの使用率が高くなり、ログイン エラーが発生する可能性があります。 この問題の影響を軽減するには、sys.event_logのクエリを制限します。
ビューには sys.event_log
、次の列が含まれています。
列名 | データ型 | 説明 |
---|---|---|
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 分遅くなります。 集計されないイベントの場合は、 イベントの 実際の UTC 日時と等しい start_timeとend_time 。 |
event_category | nvarchar(64) | このイベントを生成した上位レベルのコンポーネント。 使用可能な値の一覧については、「 イベントの種類」を 参照してください。 |
event_type | nvarchar(64) | イベントの種類。 使用可能な値の一覧については、「 イベントの種類」を 参照してください。 |
event_subtype | int | 発生したイベントのサブタイプ。 使用可能な値の一覧については、「 イベントの種類」を 参照してください。 |
event_subtype_desc | nvarchar(64) | イベントのサブタイプの説明。 使用可能な値の一覧については、「 イベントの種類」を 参照してください。 |
severity | int | エラーの重大度。 次のいずれかの値になります。 0 = 情報 1 = 警告 2 = エラー |
event_count | int | 指定された時間間隔 (start_time および end_time) 内で、指定したデータベースに対してこのイベントが発生した回数。 |
description | nvarchar(max) | イベントの詳細な説明。 使用可能な値の一覧については、「 イベントの種類」を 参照してください。 |
additional_data | XML | この列は使用されず、下位互換性のために保持されます。 |
イベントの種類
このビューの各行によって記録されるイベントは、カテゴリ (event_category)、イベントの種類 (event_type)、サブタイプ (event_subtype) によって識別されます。 次の表に、このビューで収集されるイベントの種類を示します。
接続カテゴリのイベントの場合、概要情報はsys.database_connection_stats ビューで確認できます。
注意
このビューには、発生する可能性のあるすべてのSQL Databaseデータベース イベントは含まれません。ここに記載されているイベントのみが含まれます。 その他のカテゴリ、イベントの種類、サブタイプは、SQL Databaseの今後のリリースで追加される可能性があります。
event_category | event_type | event_subtype | event_subtype_desc | severity | description |
---|---|---|---|---|---|
接続 | connection_successful | 0 | connection_successful | 0 | データベースに正常に接続されました。 |
接続 | connection_failed | 0 | invalid_login_name | 2 | ログイン名がこのバージョンの SQL Server では無効です。 |
接続 | connection_failed | 1 | windows_auth_not_supported | 2 | Windows ログインは、このバージョンの SQL Server ではサポートされていません。 |
接続 | connection_failed | 2 | attach_db_not_supported | 2 | ユーザーがデータベース ファイルのアタッチを要求しました。これはサポートされていません。 |
接続 | connection_failed | 3 | change_password_not_supported | 2 | サポートされていないユーザー ログインのパスワード変更をユーザーが要求しました。 |
接続 | connection_failed | 4 | login_failed_for_user | 2 | ユーザーのログインに失敗しました。 |
接続 | connection_failed | 5 | login_disabled | 2 | ログインが無効でした。 |
接続 | connection_failed | 7 | blocked_by_firewall | 2 | クライアントの IP アドレスからサーバーにアクセスすることが許可されていません。 |
アクセス許可
Azure SQL Database の論理サーバー上のマスター データベースにアクセスする権限を持つユーザーは、このビューに対する読み取り専用アクセス権を持ちます。
注釈
イベントの集計
このビューのイベント情報は、5 分未満の間隔で収集および集計されます。 event_count列は、特定のevent_typeとevent_subtypeが特定の時間間隔内で特定のデータベースに対して発生した回数を表します。
注意
デッドロックなど、一部のイベントは集計されません。 これらのイベントの 場合、event_count は 1 で start_time され、 end_time はイベントが発生した実際の UTC 日時と等しくなります。
たとえば、2022 年 3 月 30 日 (UTC) の 11:00 から 11:05 の間で、無効なログイン名が原因でユーザーがデータベース Database1 への接続に失敗した場合、この情報はこのビューの 1 行で使用できます。
database_name | start_time | end_time | event_category | event_type | event_subtype | event_subtype_desc | severity | event_count | description | additional_data |
---|---|---|---|---|---|---|---|---|---|---|
Database1 |
2022-03-30 11:00:00 |
2022-03-30 11:05:00 |
connectivity |
connection_failed |
4 |
login_failed_for_user |
2 |
7 |
Login failed for user. |
NULL |
間隔の start_time と end_time
イベントが集計間隔に含まれるのは、イベントがstart_time後、その間隔の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データベース エラーは含まれていません。この記事の「イベントの種類」で指定されているエラーのみが含まれます。
- SQL Database データセンター内でマシンの障害が発生した場合、イベント テーブルに少量のデータが欠落している可能性があります。
- DoSGuard によって IP アドレスがブロックされている場合は、その IP アドレスからの接続試行イベント情報を収集することができないため、このビューに表示されません。
例
Azure SQL Database の論理サーバー上のマスター データベースに接続して、次の Transact-SQL クエリを実行します。
sys.event_log ビューのクエリを実行する
次のクエリは、2022 年 3 月 25 日の正午から 2022 年 3 月 30 日 (UTC) の正午までの間に発生したすべてのイベントを返します。 既定では、クエリ結果は start_time (昇順) で並べ替えられます。
SELECT database_name, start_time, end_time, event_category,
event_type, event_subtype, event_subtype_desc, severity,
event_count, description
FROM sys.event_log
WHERE start_time >= '2022-03-25 12:00:00'
AND end_time <= '2022-03-30 12:00:00';
ユーザーのログイン エラーのクエリを実行する
次のクエリは、2022 年 3 月 25 日 (UTC) に 10:00 から 11:00 の間に発生したユーザーのログイン失敗の接続エラーを返します。
SELECT database_name, start_time, end_time, event_category,
event_type, event_subtype, event_subtype_desc, severity,
event_count, description
FROM sys.event_log
WHERE event_type = 'connection_failed'
AND event_subtype = 4
AND start_time >= '2022-03-25 10:00:00'
AND end_time <= '2022-03-25 11:00:00';
次の手順
Azure SQL Database の詳細については、次の記事を参照してください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示