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


sp_updatestats (Transact-SQL)

Запускает инструкцию UPDATE STATISTICS для всех пользовательских и внутренних таблиц в текущей базе данных.

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

Синтаксис

sp_updatestats [ [ @resample = ] 'resample']

Аргументы

  • [ @resample =] 'resample'
    Указывает, что процедура sp_updatestats будет использовать параметр RESAMPLE инструкции UPDATE STATISTICS. Новая статистика унаследует коэффициент выборки старой статистики. Если аргумент 'resample' не указан, процедура sp_updatestats обновляет статистику с помощью выборки, заданной по умолчанию. Этот аргумент имеет тип varchar(8) и значение по умолчанию NO.

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

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

Замечания

Процедура sp_updatestats эффективно выполняет инструкцию UPDATE STATISTICS для всех пользовательских и внутренних таблиц в базе данных, указывая ключевое слово ALL. Процедура sp_updatestats выводит сообщения о ходе своего выполнения. По завершении обновления выдается отчет о том, что обновление статистики произведено для всех таблиц. Статистика по отключенным некластеризованным индексам также обновляется при помощи процедуры sp_updatestats. Процедура sp_updatestats игнорирует таблицы с отключенным кластеризованным индексом.

В SQL Server 2005 процедура sp_updatestats обновляет только статистику, требующую обновления сведений, основанных на столбце rowmodctr в представлении совместимости sys.sysindexes; таким образом предотвращаются ненужные обновления неизмененных элементов.

Для баз данных с уровнем совместимости ниже 90 при выполнении процедуры sp_updatestats меняется автоматическая настройка инструкции UPDATE STATISTICS для всех индексов и данных статистики по каждой таблице в текущей базе данных. Дополнительные сведения см. в разделе Хранимая процедура sp_autostats (Transact-SQL). Для баз данных с уровнем совместимости 90 и выше при выполнении процедуры sp_updatestats автоматическая настройка инструкции UPDATE STATISTICS сохраняется для каждого определенного индекса или статистики.

Разрешения

Необходимо быть членом фиксированной серверной роли sysadmin или владельцем базы данных (dbo).

Примеры

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

USE AdventureWorks;
GO
EXEC sp_updatestats 

См. также

Справочник

Хранимые процедуры ядра СУБД (Transact-SQL)
ALTER DATABASE (Transact-SQL)
CREATE INDEX (Transact-SQL)
CREATE STATISTICS (Transact-SQL)
DBCC SHOW_STATISTICS (Transact-SQL)
DROP STATISTICS (Transact-SQL)
Хранимая процедура sp_autostats (Transact-SQL)
sp_createstats (Transact-SQL)
sp_dbcmptlevel (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)
UPDATE STATISTICS (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005