Поделиться через


Наблюдение и устранение неполадок в управляемых объектах базы данных

Данный раздел содержит информацию о средствах, которые можно использовать для наблюдения и диагностики управляемых объектов базы данных и сборок, работающих в SQL Server.

События трассировки профайлера

SQL Server предоставляет приложение SQL Trace и уведомления о событиях для мониторинга событий компонента Database Engine. Записывая указанные события, приложение SQL Trace помогает диагностировать проблемы производительности, проводить аудит активности базы данных, собирать образцы данных для тестовой среды, отлаживать инструкции Transact-SQL и хранимые процедуры и собирать данные для инструментов анализа производительности. Дополнительные сведения см. в разделе Наблюдение за событиями.

Event

Description

Класс событий Assembly Load

Используется для слежения за запросами на загрузку сборок (успех или неудача).

Класс событий SQL:BatchStarting, Класс событий SQL:BatchCompleted

Предоставляет сведения о пакетах Transact-SQL, которые начали или завершили работу.

Класс событий SP:Starting, Класс событий SP:Completed

Используется для слежения за выполнением хранимых процедур Transact-SQL.

Класс событий SQL:StmtStarting, Класс событий SQL:StmtCompleted

Используется для слежения за выполнением процедур Transact-SQL и среды CLR.

Счетчики производительности

SQL Server предоставляет объекты и счетчики, которые могут применяться системным монитором для отслеживания активности на компьютере, где запущен экземпляр SQL Server. Объект представляет собой любой ресурс SQL Server, например блокировку SQL Server или процесс Windows XP. В каждом объекте содержатся один или более счетчиков, определяющих различные аспекты объектов для мониторинга. Дополнительные сведения см. в разделе Использование объектов SQL Server.

Object

Description

SQL Server, объект CLR

Общее время выполнения в среде CLR.

Счетчики системного монитора Windows (PERFMON.EXE)

Системный монитор Windows (PERFMON.EXE) имеет несколько счетчиков производительности, которые можно использовать для наблюдения за приложениями интеграции CLR. Счетчики производительности .NET CLR можно отфильтровать по имени процесса "sqlservr" для слежения за приложениями интеграции CLR, выполняющимися в данный момент.

Объект производительности

Description

SqlServer:CLR

Предоставляет статистику по процессору сервера.

Исключения .NET CLR

Следит за числом исключений в секунду.

Загрузка .NET CLR

Предоставляет данные о доменах приложений и сборках, загруженных на сервере.

Память .NET CLR

Предоставляет сведения об использовании памяти в среде CLR. Этот объект можно использовать для создания предупреждений, если объем используемой памяти слишком сильно вырос.

Поставщик данных .NET для SQL Server

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

Представления каталога

Представления каталога возвращают данные, используемые компонентом Database Engine SQL Server. Рекомендуется, чтобы использовались представления каталога, потому что они имеют наиболее универсальный интерфейс к метаданным каталога и предоставляют наиболее эффективный способ для получения, преобразования и представления настроенных форм этих данных. Все доступные для пользователя метаданные каталога предоставляются через представления каталога. Дополнительные сведения см. в разделе Представления каталога (Transact-SQL).

Представление каталога

Description

sys.assemblies (Transact-SQL)

Возвращает сведения о сборках, зарегистрированных в базе данных.

sys.assembly_references (Transact-SQL)

Выявляет сборки, которые содержат ссылки на другие сборки.

sys.assembly_modules (Transact-SQL)

Возвращает информацию обо всех функциях, хранимых процедурах и триггерах, определенных в сборке.

sys.assembly_files (Transact-SQL)

Возвращает сведения о файлах сборок, зарегистрированных в базе данных.

sys.assembly_types (Transact-SQL)

Выявляет определяемые пользователем типы (UDT), определенные в сборке.

sys.module_assembly_usages (Transact-SQL)

Выявляет сборки, в которых определены модули CLR.

sys.parameter_type_usages (Transact-SQL)

Возвращает информацию о параметрах, которые представляют собой определенные пользователем типы.

sys.server_assembly_modules (Transact-SQL)

Выявляет сборки, в которых определен триггер CLR.

sys.server_triggers (Transact-SQL)

Выявляет триггеры DDL уровня сервера на сервере, в том числе триггеры CLR.

sys.type_assembly_usages (Transact-SQL)

Выявляет сборки, в которых определены определенные пользователем типы.

sys.types (Transact-SQL)

Возвращает системные типы и определенные пользователем типы, зарегистрированные в базе данных.

Динамические административные представления

Динамические административные представления и функции возвращают данные о состоянии сервера, которые могут использоваться для контроля исправности экземпляра сервера, диагностики проблем и настройки производительности. Дополнительные сведения см. в разделе Динамические административные представления и функции (Transact-SQL).

DMV

Description

sys.dm_clr_appdomains (Transact-SQL)

Возвращает сведения о каждом домене приложения на сервере.

sys.dm_clr_loaded_assemblies

Выявляет все управляемые сборки, зарегистрированные на сервере.

sys.dm_clr_properties

Возвращает сведения о внутрипроцессной среде CLR.

sys.dm_clr_tasks

Возвращает общее число задач CLR, работающих в настоящий момент.

sys.dm_exec_cached_plans (Transact-SQL)

Возвращает сведения о планах выполнения запросов, кэшируемых SQL Server для более быстрого выполнения запросов.

sys.dm_exec_query_stats (Transact-SQL)

Возвращает суммарную статистику производительности для кэшированных планов запросов.

sys.dm_exec_requests (Transact-SQL)

Возвращает сведения о каждом из запросов, выполняющихся в SQL Server.

sys.dm_os_memory_clerks

Возвращает все клерки памяти, активные в настоящее время в экземпляре SQL Server, в том числе клерки памяти CLR.