sys.event_log (база данных SQL Azure)

Область применения:База данных SQL Azure

Возвращает успешные подключения к базе данных SQL Azure и сбои подключения. С помощью этих сведений можно отслеживать операции в базе данных и устранять их неполадки.

Внимание

Для логических серверов с большим количеством баз данных и (или) большого количества имен входа запросы sys.event_log могут привести к высокой нагрузке на ресурсы в базе данных master, что может привести к сбоям входа. Чтобы уменьшить влияние этой проблемы, ограничьте запросы 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 всегда составляет ровно 5 минут позже соответствующего start_time в одной строке. Для событий, которые не агрегируются, start_time и end_time равны фактической дате и времени события в формате UTC.
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).
описание nvarchar(max) Подробное описание события.

Список возможных значений см. в разделе "Типы событий".
additional_data XML Этот столбец не используется и сохраняется для обратной совместимости.

Типы событий

События, записанные каждой строкой в этом представлении, определяются категорией (event_category), типом события (event_type) и подтипом (event_subtype). В следующей таблице перечислены типы событий, собираемых в этом представлении.

Сведения о событиях в категории подключения доступны в представлении sys.database_connection_stats.

Заметка

Это представление не включает все возможные события базы данных SQL, которые могут произойти, только те, которые перечислены здесь. В будущих выпусках Базы данных SQL могут быть добавлены дополнительные категории, типы событий и подтипы.

event_category event_type event_subtype event_subtype_desc severity описание
Подключения 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-адресом доступ к серверу не разрешен.

Разрешения

Пользователи с разрешением на доступ к базе данных master на логическом сервере в Базе данных SQL Azure имеют доступ только для чтения к этому представлению.

Замечания

Агрегация событий

Сведения о событиях для этого представления собираются и обрабатываются каждые 5 минут. Столбец event_count представляет количество определенных event_type и event_subtype для конкретной базы данных в течение заданного интервала времени.

Заметка

Некоторые события, например взаимоблокировки, не обрабатываются статистически. Для этих событий event_count будет 1 и start_time , а end_time будет равно фактической дате и времени в формате UTC, когда произошло событие.

Например, если пользователю не удается подключиться к базе данных Database1 из-за недопустимого имени входа, в течение семи раз от 11:00 до 11:05 в 3/30/2022 (UTC) эта информация доступна в одной строке в этом представлении:

database_name start_time end_time event_category event_type event_subtype event_subtype_desc severity event_count описание 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, будет включено только во второй интервал, показанный ниже.

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  

Обновление данных

Данные в этом представлении с течением времени накапливаются. Как правило, данные накапливаются в течение часа с начала интервала статистической обработки, но для отображения всех данных в представлении может потребоваться до 24 часов. В течение этого времени сведения в одной строке могут периодически обновляться.

Хранение данных

Данные в этом представлении хранятся не более 30 дней или, возможно, меньше в зависимости от количества баз данных и количества уникальных событий, генерируемых каждой базой данных. Для сохранения этих данных в течение более длительного периода скопируйте их в отдельную базу данных. После создания первоначальной копии представления строки могут быть обновлены по мере накопления данных. Чтобы копия данных была актуальной, периодически выполняйте просмотр таблицы для определения увеличения числа событий существующих строк и для определения новых строк (вы можете определить уникальные строки с помощью времени начала и окончания интервала), а затем обновить свою копию данных с применением этих изменений.

Ошибки, не включенные

Это представление может содержать не все сведения о подключениях и ошибках:

  • Это представление не включает все ошибки базы данных SQL, которые могут возникнуть, только те, которые указаны в типах событий в этой статье.
  • Если в центре обработки данных базы данных SQL произошел сбой компьютера, в таблице событий может быть пропущено небольшое количество данных.
  • Если IP-адрес заблокирован через DoSGuard, события подключения с этого IP-адреса не могут собираться и не будут отображаться в этом представлении.

Примеры

Подключитесь к базе данных master на логическом серверев Базе данных SQL Azure, чтобы выполнить следующие запросы Transact-SQL.

Запрос представления sys.event_log

Следующий запрос возвращает все события, произошедшие между полуднем 25 марта 2022 г. и полуднем 30 марта 2022 г. (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';  

Запрос сбоев входа для пользователей

Следующий запрос возвращает ошибки подключения, которые завершаются сбоем входа для пользователей, которые произошли в период с 10:00 по 11:00 25 марта 2022 г. (UTC).

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';  

Далее

Дополнительные сведения о базе данных SQL Azure см. в следующих статьях: