Сравнение уведомлений о событиях и трассировки SQL
В следующей таблице сравниваются способы мониторинга серверных событий, основанные на уведомлениях о событиях и использовании инструмента SQL Trace.
Трассировка SQL |
Уведомления о событиях |
---|---|
Инструмент SQL Trace не приводит к снижению производительности из-за накладных расходов, связанных с транзакциями. Упаковка данных выполняется эффективно. |
С созданием данных о событиях в формате XML и отправлением уведомлений о событиях связаны накладные расходы. |
Инструмент SQL Trace поддерживает мониторинг любого класса событий трассировки. |
Уведомления о событиях позволяют осуществлять мониторинг подмножества классов событий трассировки и всех событий языка DDL. |
Можно выбрать столбцы данных, которые будут создаваться при событии трассировки. |
Схема данных о событиях в формате XML, возвращаемых уведомлениями о событиях, фиксирована. |
События трассировки DDL создаются всегда независимо от того, был ли выполнен откат инструкции DDL. |
В случае отката события в соответствующей инструкции DDL уведомления о событиях не создаются. |
Управление промежуточным потоком данных о событиях трассировки связано с заполнением файлов или таблиц трассировки и управлением ими. |
Промежуточное управление данными уведомлений о событиях выполняется автоматически на основе очередей компонента Service Broker. |
Трассировки нужно перезапускать при каждом перезапуске сервера. |
После регистрации уведомления о событиях объединяются в транзакции и остаются активными, несмотря на циклы в работе сервера. |
После инициирования трассировок контролировать их создание невозможно. Для указания моментов инициирования трассировок можно использовать время остановки и время фильтрации. Доступ к трассировке осуществляется через соответствующий файл трассировки. |
Уведомления о событиях можно контролировать, выполняя инструкцию WAITFOR для очереди, которая получает сообщения, создаваемые уведомлениями о событиях. Доступ к уведомлениям можно получить, запросив данные из очереди. |
Для создания трассировки необходимо как минимум разрешение ALTER TRACE. Для создания файла трассировки на соответствующем компьютере также требуется разрешение. |
Минимальное разрешение, необходимое для создания уведомления о событии, зависит от типа уведомления. Дополнительные сведения см. в разделе CREATE EVENT NOTIFICATION (Transact-SQL). Кроме того, необходимо разрешение RECEIVE, связанное с соответствующей очередью. |
Данные трассировок можно получать в удаленном режиме. |
Уведомления о событиях можно получать в удаленном режиме. |
События трассировок реализуются с использованием системных хранимых процедур. |
Уведомления о событиях реализованы с помощью сочетания инструкций Database Engine и Service BrokerTransact-SQL. |
Данные событий трассировок можно получить программным образом, запросив соответствующую таблицу трассировки, проанализировав файл трассировки или воспользовавшись классом TraceReader системы SQL Server Management Objects (SMO). |
Данные событий можно получить программным образом, выполнив для этих данных, представленных в формате XML, запрос XQuery или воспользовавшись классами событий системы SMO. |
См. также