Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:SQL Server
База данных Azure SQL
Управляемый экземпляр Azure SQL
Azure Synapse Analytics
Система платформы аналитики (PDW)
Конечная точка SQL аналитики в Microsoft Fabric
Хранилище в Microsoft Fabric
База данных SQL в Microsoft Fabric
Динамические объекты управления включают динамические представления управления (DMV) и динамические функции управления (DMF). Эти объекты возвращают информацию о состоянии сервера, которую можно использовать для мониторинга состояния экземпляра сервера, диагностики проблем и настройки производительности.
Динамические управляющие объекты либо имеют серверный илибазу данных.
Объекты управления динамическими запросами
Все динамические управляющие объекты существуют в sys схеме и следуют конвенции dm_*именования .
Когда вы используете динамический объект управления, необходимо добавить имя объекта с sys помощью схемы. Например, чтобы отправить запрос к dm_os_wait_stats динамичному представлению управления, выполните следующий запрос:
SELECT wait_type,
wait_time_ms
FROM sys.dm_os_wait_stats;
В следующей таблице описывается, как ссылаться на динамические управляющие объекты в Transact-SQL:
| Справочник по T-SQL | Динамическое представление управления | Динамическая функция управления |
|---|---|---|
| Однокомпонентное именование | Нет | Нет |
| Двухкомпонентное наименование | Да | Да |
| Трехчастное название | Да | Да |
| Четырёхчастное название | Да | Нет |
Замечания
Динамические объекты управления возвращают внутренние, специфичные для реализации данные состояния. Их схемы и возвращаемые данные могут измениться в будущих релизах ядро СУБД. Поэтому динамические объекты управления в будущих релизах могут быть несовместимы с объектами динамического управления в данном выпуске.
Например, в будущих релизах ядро СУБД Microsoft может расширять определение любого динамического управления режимом, добавляя столбцы в конце списка столбцов. Не используйте синтаксис SELECT * FROM dynamic_management_view_name в продакшн-коде, потому что количество возвращённых столбцов может измениться и сломать ваше приложение.
Permissions
Запрос к динамическому объекту управления требует SELECT разрешения на объект и зависит от его сферы действия и версии SQL Server Database Engine:
| Версия | Область действия сервера | Область базы данных |
|---|---|---|
| SQL Server 2019 (15.x) и более ранние версии | VIEW SERVER STATE |
VIEW DATABASE STATE |
| SQL Server 2022 (16.x) и более поздних версий |
VIEW SERVER PERFORMANCE STATE, или VIEW SERVER SECURITY STATE для объектов, связанных с безопасностью |
VIEW DATABASE PERFORMANCE STATE, или VIEW DATABASE SECURITY STATE для объектов, связанных с безопасностью |
Чтобы избирательно ограничить доступ, создайте пользователя или войдите в master систему, а затем запретите SELECT это разрешение на конкретные динамические представления или функции управления, которые хотите заблокировать. Пользователь не может выбрать из этих объектов впоследствии, независимо от контекста базы данных.
Note
DENY имеет больший приоритет, чем GRANT. Например, пользователь, которому было разрешено VIEW SERVER PERFORMANCE STATE , но отказано VIEW DATABASE PERFORMANCE STATE , может видеть информацию на уровне сервера, но не информацию на уровне базы данных.