Наблюдение за компонентами SQL Server
Мониторинг важен, так как SQL Server предоставляет службу в динамической среде. Данные приложений постоянно изменяются. Меняется тип доступа, который требуется пользователям. Меняется способ подключения пользователей. Типы приложений, обращающиеся к SQL Server, могут даже измениться, но SQL Server автоматически управляет ресурсами уровня системы, такими как память и дисковое пространство, чтобы свести к минимуму потребность в расширенной настройке на уровне системы. Мониторинг позволяет администраторам следить за тенденциями изменения производительности и определять ситуации, когда требуются изменения.
Чтобы эффективно отслеживать любой компонент SQL Server, выполните следующие действия.
- Определите цели мониторинга.
- Выберите подходящее средство.
- Определите компоненты, подлежащие мониторингу.
- Выберите метрики для этих компонентов.
- Произведите мониторинг работы сервера.
- Анализ данных.
Ниже подробно описан каждый шаг.
Определение целей мониторинга
Чтобы эффективно отслеживать SQL Server, необходимо четко определить причину мониторинга. Мониторинг может осуществляться в следующих целях.
- Формирование основных критериев оценки производительности.
- Определение изменений производительности во времени.
- Диагностика проблем, связанных с производительностью.
- Определение компонентов и процессов, требующих оптимизации.
- Сравнение влияния различных клиентских приложений на производительность.
- Аудит активности пользователей.
- Проверка работы сервера под воздействием различных нагрузок.
- Проверка архитектуры базы данных.
- Проверка расписания обслуживания.
- Проверка планов резервного копирования и восстановления.
- Определение необходимости изменения конфигурации оборудования.
Выбор подходящего средства
Определив, почему вы отслеживаете, следует выбрать соответствующие средства для этого типа мониторинга. Операционная система Windows и SQL Server предоставляют полный набор средств для мониторинга серверов в средах с интенсивными транзакциями. Эти средства подробно описывают состояние экземпляра компонента SQL Server Database Engine или экземпляра служб SQL Server Analysis Services.
Windows предоставляет следующие средства мониторинга приложений, запущенных на сервере.
- Запустите Монитор производительности (Windows), которая позволяет собирать и просматривать данные в режиме реального времени о таких действиях, как память, диск и использование процессора.
- Журналы и предупреждения производительности
- Диспетчер задач
Дополнительные сведения о средствах Windows Server и Windows см. в документации по операционной системе Windows.
SQL Server предоставляет следующие средства для мониторинга компонентов SQL Server:
- Обзор расширенных событий
- Трассировка SQL
- SQL Server Profiler;
- Распределенное воспроизведение SQL Server
- Монитор активности
- Графический план showplan SQL Server Management Studio
- Системные хранимые процедуры
- Консольные команды базы данных (DBCC)
- Системные динамические административные представления
- Что такое функции базы данных SQL?
- Флаги трассировки
SQL Trace и SQL Server Profiler устарели. Пространство имен Microsoft.SqlServer.Management.Trace, которое содержит объекты трассировки Microsoft SQL Server и Replay, также устаревшее.
В будущей версии Microsoft SQL Server этот компонент будет удален. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.
Вместо этого используйте расширенные события. Дополнительные сведения о расширенных событиях см . в кратком руководстве: расширенные события и использование профилировщика XEvent SSMS.
Sql Server Profiler для рабочих нагрузок Служб Analysis Services не рекомендуется и будет поддерживаться.
Дополнительные сведения о средствах мониторинга SQL Server см. в разделе Монитор производительности средств настройки и управления ими.
Определение компонентов, подлежащих мониторингу
Третий шаг для мониторинга экземпляра SQL Server — определение компонентов, которые вы отслеживаете. Например, если вы используете SQL Server Profiler для трассировки сервера, можно определить трассировку для сбора данных о конкретных событиях. Вы также можете исключить события, которые не применяются к вашей ситуации.
Выбор метрик для наблюдаемых компонентов
Определив компоненты, подлежащие мониторингу, укажите метрики. Например, выбрав события для включения в трассировку, можно указать, какие именно данные требуются для анализа. Ограничив круг отслеживаемых данных можно сэкономить ресурсы системы, которые требуются для выполнения трассировки.
Мониторинг работы сервера
Для наблюдения за сервером запустите средство мониторинга, настроенное для сбора данных. Например, определив трассировку, запустите ее, чтобы собрать данные о событиях, происходящих на сервере.
Анализ данных
После окончания трассировки проанализируйте данные и попытайтесь понять, достигнута ли цель мониторинга. Если вы этого не сделали, измените компоненты или метрики, используемые для мониторинга сервера.
Ниже описан процесс сбора данных о событиях и работа с ними.
- Примените фильтры, чтобы ограничить объем собираемых данных о событиях. Фильтры позволяют системе собирать данные только о тех событиях, которые имеют отношение к поставленной задаче мониторинга. Например, если требуется проконтролировать медленные запросы, с помощью фильтра можно собрать данные только о тех запросах к конкретной базе данных, которые выполняются более 30 секунд. Дополнительные сведения о фильтрации трассировок расширенных событий см. в кратком руководстве. Дополнительные сведения о фильтрации трассировки SQL см. в разделе «Настройка фильтра трассировки (Transact-SQL) и фильтрация событий в трассировке (SQL Server Profiler)».
- Соберите данные о событиях. Как только он включен, активный мониторинг записывает данные из указанного приложения, экземпляра SQL Server или операционной системы. Например, при мониторинге активности диска с помощью системного монитора собираются и отображаются на экране данные о событиях чтения и записи. Дополнительные сведения см. в статье Мониторинг использования ресурсов (Монитор производительности).
- Сохраните собранные данные о событиях. Благодаря сохранению эти данные можно позднее проанализировать. Собранные данные о событиях сохраняются в файле, который впоследствии можно загрузить обратно в средство, изначально создавшее этот файл для целей анализа. Сохранение захваченных данных событий важно при создании базовой конфигурации производительности. Данные базового уровня производительности сохраняются и используются для сравнения с данными новых событий, что позволяет определить, является ли производительность оптимальной. Расширенные события позволяют сохранять данные в файл событий, счетчик событий, гистограмму и кольцевой буфер. Дополнительные сведения см. в разделе «Целевые объекты для расширенных событий». Данные событий трассировки SQL можно даже воспроизвести с помощью программы распределенное воспроизведение или профилировщика SQL Server. SQL Server Profiler позволяет сохранять данные событий в файле или таблице SQL Server. Дополнительные сведения см. в статье Шаблоны и разрешения приложения SQL Server Profiler.
- Создайте шаблоны трассировки, содержащие параметры сбора событий. Шаблоны трассировки включают определения самих событий, данных о событиях и фильтрах, которые применяются для сбора данных. Эти шаблоны применяются для мониторинга определенного набора событий в будущем и не требуют переопределения событий, данных и фильтров. Например, если часто приходится наблюдать за количеством взаимоблокировок и за тем, какие пользователи затронуты этими взаимоблокировками, можно создать шаблон, определив нужные события, данные событий и фильтры, и сохранить его в отдельном файле; впоследствии этот фильтр можно использовать для наблюдения за взаимоблокировками. Определения сеанса расширенных событий — это шаблон, который можно включить в скрипт и использовать повторно. Сведения о создании сеансов и управлении ими см. в статье Управление сеансами событий в обозревателе объектов. Профилировщик XEvent Studio уже предоставляет шаблоны, готовые к использованию. Дополнительные сведения см. в статье Использование профилировщика XEvent для SSMS. Sql Server Profiler использует шаблоны трассировки для этой цели. Дополнительные сведения см. в разделе Set Trace Definition Defaults (SQL Server Profiler) and Create a Trace Template (SQL Server Profiler).
Совет Определение трассировки SQL можно преобразовать в сеанс расширенных событий. Дополнительные сведения см. в статье Преобразование существующего скрипта трассировки SQL в сеанс расширенных событий.
Средства контроля и настройки производительности
Microsoft SQL Server предоставляет полный набор средств для мониторинга событий в SQL Server и настройки структуры физической базы данных. Выбор средств зависит от типа контроля или настройки, а также от конкретных отслеживаемых событий.
Ниже приведены средства мониторинга и настройки SQL Server:
Системный монитор работает в операционных системах Microsoft Windows Server и Windows. Он может отслеживать (удаленно или локально) экземпляр SQL Server в Windows NT 4.0 или более поздней версии.
sp_who (Transact-SQL):
Сообщает сведения о моментальных снимках о текущих пользователях и процессах SQL Server, включая инструкцию, выполняемую в данный момент, и о том, заблокирована ли инструкция.
sp_lock (Transact-SQL):
Предоставляет сведения моментального снимка о блокировках, включая идентификаторы объекта и индекса, тип блокировки и тип блокируемого ресурса.
sp_spaceused (Transact-SQL):
Отображает оценку количества места на диске, занятого таблицей (или базой данных).
Выбор средства контроля
Выбор средства мониторинга зависит от события или вида деятельности, которые нужно отслеживать.
| Событие или вид деятельности | Расширенные события | Профилировщик SQL Server | Распределенное воспроизведение | Системный монитор | Монитор активности | Transact-SQL | Журналы ошибок | Панель мониторинга производительности |
|---|---|---|---|---|---|---|---|---|
| Анализ трендов | Да | Да | Да | |||||
| Воспроизведение записанных событий | Да (с одного компьютера) | Да (с нескольких компьютеров) | ||||||
| Нерегламентированный мониторинг | Да 1 | Да | Да | Да | Да | Да | ||
| Формирование предупреждений | Да | |||||||
| Графический интерфейс | Да | Да | Да | Да | Да | Да | ||
| Применение в пользовательских приложениях | Да | Да 2 | Да |
1 Использование профилировщика XEvent для среды SQL Server Management Studio
2 Использование системных хранимых процедур SQL Server Profiler.
Средства контроля Windows
Кроме того, в операционных системах Windows и Windows Server 2003 имеются следующие средства наблюдения:
| Средство | Description |
|---|---|
| Диспетчер задач | Отображает краткий обзор процессов и приложений, запущенных в системе. |
| Агент мониторинга сети | Отслеживает сетевой трафик. |
Дополнительные сведения об операционных системах Windows и Windows Server см. в документации Windows.
Для чего используется мониторинг действий sql
Управление устройствами Управление и назначение мониторов Активные мониторы Запрос SQL (Активный)
Запрос SQL (Активный)
Монитор запросов SQL использует проверку подлинности WMI или ADO для определения наличия конкретных условий в базе данных Microsoft SQL, MySQL или ORACLE путем опроса базы данных. Если настроенные условия присутствуют, монитор считается активным. Если же вследствие изменений базы данных с момента последнего опроса данные более не совпадают с определенными критериями, монитор считается неактивным.
Important: Для мониторинга базы данных MySQL загрузите и установите на машине WhatsUp Gold. Имейте ввиду, что из-за проблем с совместимостью поддерживается только MySQL version 5.2.5 .NET. MySQL .NET Connector версии 5.2.5 можно загрузить непосредственно с веб-сайта WhatsUp Gold по этой ссылке.
Note: При подключении к удаленному экземпляру SQL, WhatsUp Gold поддерживает только библиотеку сети TCP/IP.
Введите уникальное имя и описание для монитора, после чего настройте следующее:
- Тип сервера. Выберите Microsoft SQL Server, MySQL или ORACLE в качестве типа сервера базы данных. Обратите внимание, что база данных MySQL поддерживается и приводится в списке как параметр типа сервера, если установлен соединитель MySQL 5.2.5 или выше.
- Тайм-аут подключения. Введите время ожидания WhatsUp Gold ответа сервера, перед тем как разорвать соединение и вернуть ошибку тайм-аута. Минимально допустимое значение составляет 1 секунду, максимально допустимое — 120. Обратите внимание, что этот параметр применим к опросам, если построитель запросов использует стандартные 15 секунд времени ожидания подключения.
- Адрес сервера. Введите адрес сервера в требуемом формате:
- Формат Имя\Экземпляр сервера для Microsoft SQL Server. Пример: WUGServer\SQLEXPRESS
- ИмяСервера для MySQL. Пример: WUGServer
- ИмяСервера/ИмяСлужбы для Oracle. Пример: WUGServer/Oracle.
Нажмите Построить, чтобы запустить построитель запросов SQL для помощи в создании правильного синтаксиса запроса. Допускаются только запросы SELECT.
Important: WhatsUp Gold В активных мониторах не сохраняются данные результатов. Для отслеживания результатов запросов нужно использовать Монитор производительности запросов SQL.
Нажмите Проверить, чтобы проверить допустимость запроса.
Количество возвращаемых строк составляет. Выберите этот параметр для определения успешности или ошибки сканирования монитора на основании строк, возвращенных при опросе SQL. Все строки базы данных должны совпадать с параметрами монитора, который считается активным.
Содержание каждой полученной строки совпадает со следующим критерием. Выберите этот параметр для определения успешности или ошибки сканирования монитора на основании критериев, которым должны соответствовать все строки базы данных. При использовании нескольких критериев порогов все пороги должны соответствовать критериям в каждом ряду, чтобы монитор считался активным.
Щелкните Добавить, Изменить или Удалить для создания, изменения и удаления значений и условий столбца базы данных.
Мониторинг пользователей и журналы активности
На странице «Управление сеансами» можно посмотреть информацию о пользователях, выполнивших вход, и решить проблемы с запросами отчетов.
- Мониторинг вошедших пользователей
- Анализ запросов и журналов SQL
Мониторинг вошедших пользователей
На странице «Управление сеансами» можно видеть, сколько пользователей вошло в сервис, и просматривать подробную информацию о каждом пользователе.
- Идентификатор пользователя : имя, введенное пользователем при входе.
- Информация о браузере : информация о браузере, использованном для входа.
- Вход выполнен : время входа пользователя.
- Время последнего доступа : метка времени последнего действия этого пользователя. Подразумевается активность любого рода, например, переход от одной страницы к другой.
- На главной странице Oracle Analytics нажмите Навигатор , а затем нажмите Консоль .
- Нажмите Кэш сеансов и запросов .
- Найдите раздел Сеансы .
В разделе «Сеансы» наверху страницы отображается число пользователей, в данный момент зарегистрированных в системе (общее количество сеансов), и подробная информация об этих пользователях.
Информация для данного пользователя отображается в таблице «Кэш курсоров». Щелкните Очистить фильтр , чтобы отобразить информацию для всех пользователей.
По умолчанию ведение журнала отключено.
Анализ запросов и журналов SQL
Администраторы могут проверить базовые запросы SQL, которые выполняются в процессе использования сервиса пользователями.
- На главной странице нажмите Навигатор , а затем нажмите Консоль .
- Нажмите Кэш сеансов и запросов .
- Найдите раздел Кэш курсоров и просмотрите информацию о запросе, записанную там. См. раздел Запрос записанной информации в таблице «Кэш курсора».
- Необязательно: Нажмите Закрыть все курсоры , чтобы удалить информацию из таблицы «Кэш курсора».
- Необязательно: Все запросы, выполняемые для анализа, можно отменить. Для этого нажмите Отменить выполняемые запросы .
Запрос записанной информации в таблице «Кэш курсора»
Администраторы могут проверить базовые запросы SQL, которые выполняются в процессе использования сервиса пользователями.
Эти параметры применяются только к анализам и информационным панелям. Они не применяются к визуализациям данных.
Уникальный внутренний идентификатор, который присваивается каждой записи.
Имя последнего пользователя, выполнявшего анализ и сохранившего этот анализ в кэше.
Количество ссылок на данную запись с момента ее помещения в кэш-память.
Статус анализа, использующего данную запись кэша:
- Запуск – запущено выполнение анализа.
- Ожидание родительского объекта – представление в анализе ожидает, пока данные будут возвращены для запроса.
- Выполняется – анализ выполняется.
- Завершено – анализ завершен.
- В очереди – система ожидает, пока освободится поток для обработки анализа.
- Отмена – приложение готовится отменить анализ.
- Ошибка – во время обработки или выполнения анализа произошла ошибка. Сведения об ошибке приведены в столбце «Оператор».
Время, затраченное на обработку и выполнение анализа, отображается с приращением в 1 секунду. Значение 0с (ноль секунд) показывает, что выполнение анализа заняло менее 1 секунды.
Ссылки для управления анализом:
- Отмена – прерывание анализа. Отображается для анализа, находящегося на стадии выполнения. Пользователь, выполняющий анализ, получает информационное сообщение о том, что анализ был отменен администратором.
- Закрыть – очистка записи кэша, связанной с данным анализом. Отображается для завершенных анализов.
- Просмотр журнала — отображение журнала для запроса, выполненного в данном анализе.
- Диагностика – отображение HTML-страницы с диагностической информацией, которую можно отправить в службу поддержки клиентов Oracle.
Время последнего доступа
Штамп времени, обозначающий последнее время, когда данная запись кэша была использована для выполнения анализа.
Логический оператор SQL, созданный для анализа. Если анализ вернул ошибку, здесь отображается ее описание.
Информация об использовании (например, какой анализ содержал данный запрос).
Количество просмотренных записей в наборе результатов (например, значение 50+ указывает на то, что просмотрено 50 записей, но существуют другие записи, которые можно извлечь; значение 75 указывает на то, что просмотрено 75 записей и извлечь другие записи невозможно).
