sys.dm_db_resource_stats (база данных SQL Azure)
Применимо к: База данных SQL Azure
Возвращает потребление ЦП, ввода-вывода и памяти для базы данных в База данных SQL Azure. Одна строка существует каждые 15 секунд, даже если действия отсутствуют. Хранятся данные за период длительность около одного часа.
Примечание.
sys.dm_db_resource_stats
не поддерживается в Управляемый экземпляр SQL Azure. Вместо этого используйте представление каталога sys.server_resource_stats.
Столбцы | Тип данных | Description |
---|---|---|
end_time |
datetime | Время в формате UTC, указывающее окончание текущего отчетного интервала. |
avg_cpu_percent |
десятичная (5,2) | Средний уровень использования вычислительных мощностей в процентах от предела для уровня службы. |
avg_data_io_percent |
десятичная (5,2) | Среднее использование операций ввода-вывода данных в процентах от предела уровня служб. Сведения о базах данных с гипермасштабированием см. в разделе "Данные ввода-вывода" в статистике использования ресурсов. |
avg_log_write_percent |
десятичная (5,2) | Средняя запись журнала транзакций (в МБ/с) в процентах от предельного уровня служб. |
avg_memory_usage_percent |
десятичная (5,2) | Средний уровень использования памяти в процентах от предела для уровня службы. Это включает память, используемую для страниц буферного пула и хранилища объектов OLTP в памяти. |
xtp_storage_percent |
десятичная (5,2) | Использование хранилища для OLTP в памяти в процентах от ограничения пула в конце интервала отчетности. Это включает память, используемую для хранения следующих объектов OLTP в памяти: оптимизированные для памяти таблицы, индексы и переменные таблицы. Она также включает память, используемую для обработки операций ALTER TABLE в оптимизированных для памяти таблицах. Возвращает значение 0, если OLTP в памяти не используется в базе данных. |
max_worker_percent |
десятичная (5,2) | Максимальное число одновременных рабочих ролей (запросов) в процентах от предела уровня служб базы данных. |
max_session_percent |
десятичная (5,2) | Максимальное число одновременных сеансов в процентах от предела уровня служб базы данных. |
dtu_limit |
int | Текущий параметр DTU для этой базы данных в течение этого интервала. Для баз данных с помощью модели на основе виртуальных ядер это столбец NULL . |
cpu_limit |
десятичная (5,2) | Количество виртуальных ядер для этой базы данных в течение этого интервала. Для баз данных, использующих модель на основе DTU, этот столбец является NULL . |
avg_instance_cpu_percent |
десятичная (5,2) | Среднее использование ЦП экземпляром ядра СУБД, в котором размещается пул, в процентах от предела экземпляра. Сообщается в течение одной минуты детализации и включает использование ЦП как пользователем, так и внутренними рабочими нагрузками. |
avg_instance_memory_percent |
десятичная (5,2) | Среднее использование памяти для экземпляра SQL Server, на котором размещена база данных. Включает использование памяти как пользователем, так и внутренними рабочими нагрузками. |
avg_login_rate_percent |
десятичная (5,2) | Указано только в ознакомительных целях. Не поддерживается. Будущая совместимость не гарантируется. |
replica_role |
int | Представляет текущую роль реплики. 0 — основной 1. Вторичная среда высокого уровня доступности (HA) 2 . Переадресатор георепликации 3. Именованной репликой Сообщает 1 при подключении с ReadOnly намерением к любой доступной для чтения вторичной. Если подключение к географическому получателю без указания ReadOnly намерения, сообщает 2, чтобы отразить подключение к георепликатору пересылки. При подключении к именованной реплике без указания ReadOnly намерения сообщает 3. |
Совет
Дополнительные сведения об этих ограничениях и уровнях служб см. в разделах "Уровни служб", "Вручную настроить производительность запросов в База данных SQL Azure" и База данных SQL ограничения ресурсов и управление ресурсами.
Разрешения
Для этого представления требуется VIEW DATABASE STATE
разрешение.
Замечания
Возвращаемые sys.dm_db_resource_stats
данные выражаются в процентах от максимального допустимого ограничения уровня служб или уровня производительности, который вы выполняете.
Если база данных была выполнена отработка отказа на другой сервер в течение последних 60 минут, представление вернет данные только с момента отработки отказа.
Для менее детального представления этих данных с более длительным сроком хранения используйте sys.resource_stats
представление каталога в База данных SQL Azure. Это представление сохраняет данные каждые 5 минут и сохраняет исторические данные в течение 14 дней. Дополнительные сведения см. в sys.resource_stats.
Если база данных является членом эластичного пула, статистика ресурсов, представленная в виде процентных значений, выражается как процент максимального ограничения для баз данных, заданных в конфигурации эластичного пула.
Примеры
В следующем примере возвращаются данные об использовании ресурсов, упорядоченные по последнему времени для текущей подключенной базы данных в База данных SQL Azure или Управляемый экземпляр SQL Azure.
SELECT * FROM sys.dm_db_resource_stats ORDER BY end_time DESC;
Следующий пример определяет среднее потребление DTU в процентном с как отношение в процентах от максимального разрешенного значения DTU на уровне производительности для пользовательской базы данных за последний час. Рекомендуется увеличивать уровень производительности, когда это значение длительное время близко к 100 %.
SELECT end_time,
(SELECT Max(v)
FROM (VALUES (avg_cpu_percent), (avg_data_io_percent), (avg_log_write_percent)) AS
value(v)) AS [avg_DTU_percent]
FROM sys.dm_db_resource_stats;
Следующий пример возвращает среднее и максимальное значения использования ЦП, операций ввода-вывода данных и журналов, а также потребление памяти за последний час.
SELECT
AVG(avg_cpu_percent) AS 'Average CPU Utilization In Percent',
MAX(avg_cpu_percent) AS 'Maximum CPU Utilization In Percent',
AVG(avg_data_io_percent) AS 'Average Data IO In Percent',
MAX(avg_data_io_percent) AS 'Maximum Data IO In Percent',
AVG(avg_log_write_percent) AS 'Average Log Write I/O Throughput Utilization In Percent',
MAX(avg_log_write_percent) AS 'Maximum Log Write I/O Throughput Utilization In Percent',
AVG(avg_memory_usage_percent) AS 'Average Memory Usage In Percent',
MAX(avg_memory_usage_percent) AS 'Maximum Memory Usage In Percent'
FROM sys.dm_db_resource_stats;