sys.dm_db_incremental_stats_properties (Transact-SQL)
Область применения: SQL Server
Возвращает свойства добавочной статистики для указанного объекта базы данных (таблицы) в текущей базе данных SQL Server. Использование sys.dm_db_incremental_stats_properties
(который содержит номер секции) аналогичен sys.dm_db_stats_properties
, который используется для недобавочной статистики.
Эта функция появилась в SQL Server 2014 (12.x) с пакетом обновления 2 и SQL Server 2016 (13.x).
Синтаксис
sys.dm_db_incremental_stats_properties (object_id, stats_id)
Аргументы
object_id
Идентификатор объекта текущей базы данных, для которого запрашиваются свойства одной из добавочных статистик. object_id имеет тип int.
stats_id
Идентификатор статистики для указанного аргумента object_id. Идентификатор статистики может быть получен из динамического административного представления sys.stats . stats_id имеет тип int.
Возвращаемая таблица
Имя столбца | Тип данных | Description |
---|---|---|
object_id | int | Идентификатор объекта (таблицы), для которого возвращаются свойства объекта статистики. |
stats_id | int | Идентификатор объекта статистики. Уникален в пределах таблицы. Дополнительные сведения см. в статье sys.stats (Transact-SQL). |
partition_number | int | Номер секции, содержащей часть таблицы. |
last_updated | datetime2 | Дата и время последнего обновления объекта статистики. Дополнительные сведения см. в подразделе Примечания на этой странице. |
строк | bigint | Общее число строк в таблице при последнем обновлении статистики. Если статистика отфильтрована или соответствует отфильтрованному индексу, количество строк может быть меньше, чем количество строк в таблице. |
rows_sampled | bigint | Общее количество строк, выбранных для статистических вычислений. |
steps | int | Число шагов в гистограмме. Дополнительные сведения см. в разделе DBCC SHOW_STATISTICS (Transact-SQL). |
unfiltered_rows | bigint | Общее количество строк в таблице до применения критерия фильтра (для отфильтрованной статистики). Если статистика не отфильтрована, то unfiltered_rows равно значению, которое возвращается в столбце rows. |
modification_counter | bigint | Общее количество изменений в начальном столбце статистики (на основе которого строится гистограмма) с момента последнего обновления статистики. Этот столбец не содержит сведения для таблиц, оптимизированных для памяти. |
Замечания
sys.dm_db_incremental_stats_properties
возвращает пустой набор строк, если выполняется любое из следующих условий:
object_id
илиstats_id
имеет значение NULL.- Указанный объект не найден или не соответствует таблице с добавочной статистикой.
- Указанный идентификатор статистики не соответствует имеющейся статистике для указанного идентификатора объекта статистики.
- Текущий пользователь не имеет разрешений на просмотр объекта статистики.
Это поведение позволяет безопасно использовать представление sys.dm_db_incremental_stats_properties
при перекрестном применении к строкам в таких представлениях, как sys.objects
и sys.stats
. Этот метод может возвращать для статистики свойства, соответствующие каждой секции. Чтобы просмотреть свойства по всем секциям для объединенной статистики, используйте вместо этого sys.dm_db_stats_properties.
Дата обновления статистики хранится в большом двоичном объекте статистики вместе с гистограммой и вектором плотности, а не в метаданных. Если данные не считываются для создания статистических данных, большой двоичный объект статистики не создается, дата недоступна, а столбец last_updated имеет значение NULL. Это происходит с отфильтрованной статистикой, для которой предикат не возвращает ни одной строки, или с новыми пустыми таблицами.
Разрешения
Требуется наличие у пользователя разрешения на выбор столбцов статистики либо то, чтобы пользователь был владельцем таблицы или членом предопределенной роли сервера sysadmin
, предопределенной роли базы данных db_owner
или предопределенной роли базы данных db_ddladmin
.
Примеры
А. Простой пример
Следующий пример возвращает статистику для таблицы PartitionTable
, описанной в разделе Создание секционированных таблиц и индексов.
SELECT * FROM sys.dm_db_incremental_stats_properties (object_id('PartitionTable'), 1);
Дополнительные предложения по использованию см. в разделе sys.dm_db_stats_properties.
См. также
DBCC SHOW_STATISTICS (Transact-SQL)
sys.stats (Transact-SQL)
Связанные с объектами динамические административные представления и функции (Transact-SQL)
Динамические административные представления и функции (Transact-SQL)
sys.dm_db_stats_properties
sys.dm_db_stats_histogram (Transact-SQL)