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

Применимо к:SQL Server

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

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

SQL Server предоставляет уведомления о трассировке и событиях SQL для мониторинга событий, происходящих в ядре СУБД. Записывая указанные события, трассировка SQL помогает устранять неполадки с производительностью, аудитом действий базы данных, сбором примеров данных для тестовой среды, отладкой инструкций Transact-SQL и хранимыми процедурами и сбором данных для средств анализа производительности. Дополнительные сведения см. в разделе "Трассировка SQL" и "Расширенные события".

Мероприятие Description
Класс событий Assembly Load Используется для наблюдения за запросами на загрузку сборок (успех или неудача).
Класс событий SQL:BatchStarting, класс событий SQL:BatchCompleted Предоставляет сведения о пакетах Transact-SQL, запущенных или завершенных.
Класс событий SP:Starting, класс событий SP:Completed Используется для мониторинга выполнения хранимых процедур Transact-SQL.
Класс событий SQL:StmtStarting, класс событий SQL:StmtCompleted Используется для мониторинга выполнения подпрограмм CLR и Transact-SQL.

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

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

Объект 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 Следит за числом создаваемых и разрываемых соединений в секунду. Этот объект можно использовать для наблюдения за уровнем активности базы данных.

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

Представления каталога возвращают сведения, используемые ядром СУБД 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) Возвращает системные типы и определяемые пользователем типы, зарегистрированные в базе данных.

Dynamic Management Views (Динамические административные представления)

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

Динамическое административное представление Description
sys.dm_clr_appdomains (Transact-SQL) Возвращает сведения о каждом домене приложения на сервере.
sys.dm_clr_loaded_assemblies (Transact-SQL) Указывает все управляемые сборки, зарегистрированные на сервере.
sys.dm_clr_properties (Transact-SQL) Возвращает сведения о внутрипроцессной среде CLR.
sys.dm_clr_tasks (Transact-SQL) Указывает общее число задач 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 (Transact-SQL) Возвращает все клерки памяти, активные в настоящее время в экземпляре SQL Server, включая clerks памяти CLR.

См. также

Основные понятия о программировании интеграции со средой CLR