В редакции Enzo Audit 2009, совместимой с SQL Server 2000 и более новыми версиями, разработчики Pyn Logic оснастили свой продукт, применявшийся ранее исключительно для решения задач безопасности, функциями, обеспечивающими потребности пользователей в мониторинге запросов, касающихся эксплуатационных характеристик.

Enzo Audit подразумевает два этапа: установка на серверной стороне, обеспечивающая аудит посредством прослушивания и мониторинга одного или нескольких серверов баз данных с целью отслеживания и сбора сведений по заданным действиям (таким, как подключения, инструкции T-SQL, удаленные вызовы процедур — RPC), и установка на клиентской системе, обеспечивающая обратную связь в реальном времени.

Серверный компонент, служба Windows, устанавливаемая на каждой исследуемой системе SQL Server, выполняет функции аудита с помощью «прослушивателей». Прослушиватель — это трассировщик SQL Server, запускаемый и управляемый с помощью Enzo Audit. К каждому прослушивателю могут быть применены фильтры, позволяющие включать или исключать сведения по аудиту на уровне базы данных и событий, управляющие типами событий, которые необходимо фиксировать, — такими, как неудавшиеся попытки регистрации в системе или коды SQL, включая встроенный SQL, представления и хранимые процедуры. Кроме того, предусмотрена возможность определения методов оповещения с помощью консоли Enzo Audit; таким образом, вы можете получать уведомления о тех или иных событиях. Прослушиватели задаются и настраиваются с помощью консоли Enzo Audit, которая разворачивается в составе серверной установки. Перед началом настройки серверного компонента обязательно прочтите руководство по установке, поскольку имеется большое число параметров конфигурации.

Одно из достоинств Enzo Audit — это способность продукта осуществлять аудит широкого диапазона сведений об SQL Server, включая информацию о неудавшихся попытках регистрации в системе, об удаленных вызовах процедур, изменениях паролей и о доступе к объектам. Но особо следует упомянуть о замечательной новой функции, позволяющей отслеживать выполненные инструкции T-SQL, обеспечивающие регистрацию малоэффективных запросов с помощью заданных пороговых значений производительности. К примеру, когда вы выполняете запросы, Enzo Audit сопоставляет результаты и выполнение запроса с заданными пороговыми значениями, событиями и фильтрами. Если при выполнении запроса одно из пороговых значений превышается, вы немедленно получаете сообщение об этом во всплывающем окне оповещения, которое обеспечивает оперативную информацию по только что выполненному запросу и по превышенным пороговым значениям.

В Enzo Audit реализованы три соответствующих встроенных отчета. Так, отчет Most Improved Batches and Statements включает данные о тенденциях и истории, касающихся определенной категории запросов, производительность которых повысилась на протяжении заданного промежутка времени, а отчет Most Degraded Batches and Statements включает те же сведения о запросах, производительность которых снизилась. К обоим отчетам можно применять фильтры — по пользователям, приложениям или диапазонам дат. Третий отчет, Worst Batches and Statements, отображает 10 наименее эффективных запросов на определенную дату или по конкретному пользователю.

В целом же подход к диагностике производительности, реализованный в Enzo Audit 2009, подобен глотку свежего воздуха. Благодаря тому что анализ выполняется на более ранних стадиях цикла разработки и пользователь имеет оперативную обратную связь, число связанных с производительностью проблем сокращается, и в конечном итоге вы получаете экономию времени. Возможно, по меркам небольших компаний продукт Enzo Audit стоит слишком дорого, но средним и крупным организациям его обязательно нужно приобрести.

Скотт Клайн (scottklein@sqlxml.com) — имеет звание SQL Server MVP, специализируется на T-SQL, разработке и оптимизации производительности

Enzo Audit 2009
ЗА:
перехватывает имеющие низкую эффективность запросы, обеспечивает мгновенную обратную связь; позволяет отслеживать предысторию эффективности запросов.
ПРОТИВ: настройка серверов поначалу может показаться чересчур сложной; чтобы разобраться во всех параметрах, требуется время
ОЦЕНКА: 4 из 5
ЦЕНА: 999 долл. в расчете на сервер или 998 долл. за 5 пользователей
РЕКОМЕНДАЦИЯ: небольшие коллективы разработчиков могут обойтись без этого средства, однако я рекомендую его для крупных организаций, особенно независимых поставщиков программных продуктов.
КОНТАКТ: Pyn Logic, www.pynlogic.com