Поделиться через


sys.stats (Transact-SQL)

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

Содержит строку для каждого объекта статистики, существующего для таблиц, индексов и индексированных представлений в базе данных в SQL Server. Каждый индекс имеет соответствующую строку статистики с одинаковым именем и идентификатором (index_id = stats_id), но не каждая строка статистики имеет соответствующий индекс.

Представление каталога sys.stats_columns предоставляет статистические данные для каждого столбца в базе данных.

Дополнительные сведения о статистике см. в статье Статистика.

Примечание.

Дополнительные сведения о статистике в Microsoft Fabric см. в разделе "Статистика в хранилище данных Fabric".

Имя столбца Тип данных Description
object_id int Идентификатор объекта, которому принадлежит статистика.
name sysname Имя статистики. Уникален в пределах объекта.
stats_id int Идентификатор статистики. Уникален в пределах объекта.

Если статистика соответствует индексу, значение stats_id совпадает со значением index_id в представлении каталога sys.indexes.
auto_created bit Указывает, была ли статистика автоматически создана SQL Server.

0 = статистика не была автоматически создана SQL Server.

1 = статистика была автоматически создана SQL Server.
user_created bit Указывает, была ли статистика создана пользователем.

0 = статистика не была создана пользователем.

1 = статистика была создана пользователем.
no_recompute bit Указывает, были ли созданы статистические данные с параметром NORECOMPUTE .

0 = статистика не была создана с параметром NORECOMPUTE .

1 = статистика была создана с параметром NORECOMPUTE .
has_filter bit 0 = Статистика не имеет фильтра и вычисляется на всех строках.

1 = Статистика имеет фильтр и рассчитывается только для строк, которые удовлетворяют определению фильтра.
filter_definition nvarchar(max) Выражение для подмножества строк, включенного в отфильтрованную статистику.

NULL = нефильтрованная статистика.
is_temporary bit Указывает, является ли статистика временной. Временная статистика поддерживает базы данных-получателей групп доступности AlwaysOn, которые включены для доступа только для чтения.

0 = статистика не является временной.

1 = статистика является временной.

Область применения: SQL Server
is_incremental bit Указывает, создается ли статистика в добавочном виде.

0 = статистика не является добавочной.

1 = статистика недобавочная.

относится к: SQL Server 2014 (12.x) и более поздним версиям.
has_persisted_sample bit Указывает, были ли созданы или обновлены статистические PERSIST_SAMPLE_PERCENT данные с помощью параметра.

0 = Статистика не сохраняет выборку процента.

1 = статистика была создана или обновлена PERSIST_SAMPLE_PERCENT с помощью параметра.

применимо к: SQL Server 2019 (15.x) и более поздним версиям.
stats_generation_method int Указывает метод, с помощью которого создаются статистические данные.

0 = статистика на основе сортировки

1 = только внутреннее использование

применимо к: SQL Server 2019 (15.x) и более поздним версиям.
stats_generation_method_desc varchar(255) Текстовое описание метода, с помощью которого создаются статистические данные.

Статистика на основе сортировки

Только для внутреннего применения

применимо к: SQL Server 2019 (15.x) и более поздним версиям.
auto_drop bit Указывает, включена ли функция автоматического удаления для этого объекта статистики. Свойство AUTO_DROP позволяет создавать объекты статистики в режиме, так что последующее изменение схемы не блокируется объектом статистики, но вместо этого статистика удаляется по мере необходимости. Таким образом, вручную созданная статистика с AUTO_DROP включенным поведением, как автоматическая статистика. Дополнительные сведения см. в разделе AUTO_DROP параметра.

Область применения: SQL Server 2022 (16.x) и более поздних версий, База данных SQL Azure, Управляемый экземпляр SQL Azure.
replica_role_id tinyint Указывает реплика, из которой последние обновления автостатов были обновлены.

1 = первичный

2 = вторичная

3 = геоторичная

4 = дополнительный геодоступный уровень доступности

Применимо к: SQL Server 2025 (17.x) и более поздних версий, Azure SQL Database, Azure SQL Managed Instance.
replica_role_desc nvarchar(60) Основной, Вторичный, Гео-вторичный, Гео-вторичный с высокой доступностью

Применимо к: SQL Server 2025 (17.x) и более поздних версий, Azure SQL Database, Azure SQL Managed Instance.
replica_name sysname Имя экземпляра реплики в группе доступности. NULL для первичной реплики

Применяется к: SQL Server 2025 (17.x) и более поздним версиям, Azure SQL Database, Azure SQL Managed Instance

Разрешения

Видимость метаданных в представлениях каталога ограничена защищаемыми объектами, которыми владеет пользователь или которым пользователь получил некоторое разрешение. Дополнительные сведения см. в разделе "Конфигурация видимости метаданных".

Примеры

В следующих примерах возвращаются все столбцы статистики и статистики для HumanResources.Employee таблицы.

USE AdventureWorks2022;
GO

SELECT s.name AS statistics_name,
       c.name AS column_name,
       sc.stats_column_id
FROM sys.stats AS s
     INNER JOIN sys.stats_columns AS sc
         ON s.object_id = sc.object_id
        AND s.stats_id = sc.stats_id
     INNER JOIN sys.columns AS c
         ON sc.object_id = c.object_id
        AND c.column_id = sc.column_id
WHERE s.object_id = OBJECT_ID('HumanResources.Employee');