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


Хранимая процедура sp_autostats (Transact-SQL)

Отображает или изменяет параметр автоматического обновления статистики AUTO_UPDATE_STATISTICS для индекса, объекта статистики, таблицы или индексированного представления.

Дополнительные сведения о параметре AUTO_UPDATE_STATISTICS см. в разделах Параметры ALTER DATABASE SET (Transact-SQL) и Использование статистики для повышения производительности запросов.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

sp_autostats [ @tblname = ] 'table_or_indexed_view_name' 
    [ , [ @flagc = ] 'stats_value' ] 
    [ , [ @indname = ] 'statistics_name' ]

Аргументы

  • [ @tblname= ] 'table_or_indexed_view_name'
    Имя таблицы или индексированного представления, для которого отображается параметр AUTO_UPDATE_STATISTICS. Аргумент table_or_indexed_view_name имеет тип nvarchar(776) и не имеет значения по умолчанию.

  • [ @flagc= ] 'stats_value'
    Обновляет параметр AUTO_UPDATE_STATISTICS, присваивая ему одно из следующих значений:

    ON = ON

    OFF = OFF

    Если аргумент stats_flag не указан, отображается текущее значение AUTO_UPDATE_STATISTICS. Аргумент stats_value имеет тип varchar(10) со значением NULL по умолчанию.

  • [ @indname= ] 'statistics_name'
    Имя объекта статистики для отображения или обновления параметра AUTO_UPDATE_STATISTICS. Чтобы отобразить статистику для индекса, можно использовать имя индекса. Имя индекса совпадает с именем соответствующего объекта статистики.

    Аргумент statistics_name имеет тип sysname и значение по умолчанию NULL.

Значения кода возврата

0 (успешное завершение) или 1 (неуспешное завершение)

Результирующие наборы

Если указан аргумент stats_flag, хранимая процедура sp_autostats сообщает о действии, которое было выполнено, но не возвращает результирующего набора.

Если аргумент stats_flag не указан, процедура sp_autostats возвращает следующий результирующий набор.

Имя столбца

Тип данных

Описание

Index Name

varchar(60)

Имя индекса или статистики.

AUTOSTATS

varchar(3)

Текущее значение параметра AUTO_UPDATE_STATISTICS.

Last Updated

datetime

Дата последнего обновления статистики.

Результирующий набор для таблицы или индексированного представления содержит статистику, созданную для индексов, статистику по отдельным столбцам, созданную параметром AUTO_CREATE_STATISTICS, и статистику, созданную инструкцией CREATE STATISTICS.

Замечания

Если указанный индекс отключен или указанная таблица имеет отключенный кластеризованный индекс, выводится сообщение об ошибке.

Разрешения

Для изменения параметра AUTO_UPDATE_STATISTICS необходимо членство в предопределенной роли базы данных db_owner или разрешение ALTER на table_name. Для отображения параметра AUTO_UPDATE_STATISTICS необходимо членство в роли public.

Примеры

А. Отображение состояния всей статистики по таблице

Следующий код выводит состояние всей статистики по таблице Product.

USE AdventureWorks2008R2;
GO
EXEC sp_autostats 'Production.Product';
GO

Б. Включение параметра AUTO_UPDATE_STATISTICS для всей статистики по таблице

Следующий код включает параметр AUTO_UPDATE_STATISTICS для всей статистики по таблице Product.

USE AdventureWorks2008R2;
GO
EXEC sp_autostats 'Production.Product', 'ON';
GO

В. Отключение параметра AUTO_UPDATE_STATISTICS для заданного индекса

В следующем примере отключается параметр AUTO_UPDATE_STATISTICS для индекса AK_Product_Name по таблице Product.

USE AdventureWorks2008R2;
GO
EXEC sp_autostats 'Production.Product', 'OFF', AK_Product_Name;
GO