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)