sp_updatestats (Transact-SQL)
Запускает инструкцию UPDATE STATISTICS для всех пользовательских и внутренних таблиц в текущей базе данных.
Дополнительные сведения об инструкции UPDATE STATISTICS см. в разделе UPDATE STATISTICS (Transact-SQL). Дополнительные сведения о статистике см. в разделе Статистика.
Применимо для следующих объектов: SQL Server (SQL Server 2008 по текущую версию), База данных SQL Windows Azure (С первоначального выпуска по текущий выпуск). |
Cинтаксические обозначения в 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 чаще, чем это необходимо.
Процедура 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)