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

Применимо к:SQL ServerБаза данных Azure SQLУправляемый экземпляр Azure SQLAzure Synapse AnalyticsСистема платформы аналитики (PDW)Конечная точка SQL аналитики в Microsoft FabricХранилище в Microsoft FabricБаза данных SQL в Microsoft Fabric

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

Внимание

Динамические административные представления и функции возвращают внутренние данные о состоянии, зависящие от реализации. Их схемы и возвращаемые данные могут измениться в будущих выпусках SQL Server. Поэтому динамические административные представления и функции в будущих выпусках могут быть несовместимы с динамическими административными представлениями и функциями в этом выпуске. Например, в будущих выпусках SQL Server корпорация Майкрософт может расширить определение любого динамического административного представления, добавив столбцы в конец списка столбцов. Из-за того что число возвращаемых столбцов может измениться и нарушить работу приложения, использование синтаксиса SELECT * FROM dynamic_management_view_name в конечном коде не рекомендуется.

Есть два типа динамических административных представлений и функций:

  • динамические административные представления и функции области сервера. Для них необходимо разрешение VIEW SERVER STATE на сервере; Для SQL Server 2022 и более поздних версий требуется СОСТОЯНИЕ ПРОИЗВОДИТЕЛЬНОСТИ VIEW SERVER, или для нескольких динамических административных представлений, связанных с безопасностью.

  • динамические административные представления и функции области базы данных. Для них необходимо разрешение VIEW DATABASE STATE на базе данных. Для SQL Server 2022 и более поздних версий требуется состояние производительности БАЗЫ ДАННЫХ view, или для нескольких динамических административных представлений, связанных с безопасностью.

Запрос динамических административных представлений

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

Все динамические административные представления и функции существуют в схеме sys и следуют соглашению по именованию следующего вида: dm_*. При использовании динамического административного представления или функции перед именем представления или функции должен стоять префикс схемы sys. Например, для запроса к динамическому административному представлению dm_os_wait_stats выполните следующие инструкции:

SELECT wait_type,
       wait_time_ms
FROM sys.dm_os_wait_stats;

Необходимые разрешения

Для запроса динамического административного представления или функции требуется SELECT разрешение на объект или VIEW SERVER STATEVIEW DATABASE STATE разрешение. Тем самым обеспечивается выборочное ограничение доступа пользователя или имени входа к динамическим административным представлениям и функциям. Для этого сначала создайте пользователя и отклоните разрешение пользователя masterSELECT на динамические административные представления или функции, к которым они не будут обращаться. После этого пользователь не может выбрать из этих динамических административных представлений или функций независимо от контекста базы данных пользователя.

Примечание.

Так как DENY имеет приоритет, если пользователю было предоставлено разрешение VIEW SERVER STATE, но отклонено VIEW DATABASE STATE разрешение, пользователь может видеть сведения на уровне сервера, но не сведения на уровне базы данных.