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


sp_updatestats (Transact-SQL)

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

Дополнительные сведения об инструкции UPDATE STATISTICS см. в разделе UPDATE STATISTICS (Transact-SQL). Дополнительные сведения о статистике см. в разделе Статистика.

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

Синтаксис

sp_updatestats [ [ @resample = ] 'resample']

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

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

Аргументы

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

Замечания

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

Процедура sp_updatestats обновляет статистику по отключенным некластеризованным индексам и не обновляет статистику по отключенным кластеризованным индексам.

Процедура sp_updatestats обновляет только статистику, требующую обновления, основываясь на данных столбца rowmodctr в представлении каталога sys.sysindexes. Таким образом, предотвращаются ненужные обновления статистики по неизмененным строкам.

Процедура sp_updatestats может запустить повторную компиляцию хранимых процедур или другого откомпилированного кода. Однако sp_updatestats может не запустить повторную компиляцию, если для целевых таблиц и индексов в них доступен только один план запроса. Повторная компиляция в этих случаях будет не нужна даже при обновлении статистики.

Для баз данных с уровнем совместимости ниже 90 выполнение процедуры sp_updatestats не сохраняет последнее значение параметра NORECOMPUTE для заданной статистики. Для баз данных с уровнем совместимости 90 и выше процедура sp_updatestats сохраняет последнее значение параметра NORECOMPUTE для заданной статистики. Дополнительные сведения об отключении и повторном включении обновления статистики см. в разделе Статистика.

Разрешения

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

Примеры

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

USE AdventureWorks2012;
GO
EXEC sp_updatestats; 

См. также

Справочник

Параметры ALTER DATABASE SET (Transact-SQL)

CREATE STATISTICS (Transact-SQL)

Инструкция DBCC SHOW_STATISTICS (Transact-SQL)

DROP STATISTICS (Transact-SQL)

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

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

UPDATE STATISTICS (Transact-SQL)

Системные хранимые процедуры