Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: SQL Server База данных SQL Azure
Выполняется UPDATE STATISTICS для всех определяемых пользователем и внутренних таблиц в текущей базе данных.
Дополнительные сведения см. в UPDATE STATISTICSразделе UPDATE STATISTICS. Дополнительные сведения о статистике см. в статье Статистика.
Соглашения о синтаксисе 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 на основе дисков обновляет статистику на modification_counter основе сведений в представлении каталога sys.dm_db_stats_properties , обновляя статистику, в которой изменяется по крайней мере одна строка. Статистика по оптимизированным для памяти таблицам всегда обновляется при выполнении sp_updatestats. Поэтому не выполняйте sp_updatestats больше, чем необходимо.
sp_updatestats может активировать перекомпилировать хранимые процедуры или другой скомпилированный код.
sp_updatestats Однако может не вызвать повторную компиляцию, если только один план запроса возможен для таблиц, на которые ссылается ссылка, и индексов на них. Повторная компиляция в этих случаях будет не нужна даже при обновлении статистики.
sp_updatestats сохраняет последний NORECOMPUTE параметр для конкретной статистики. Дополнительные сведения об отключении и повторном включении обновления статистики см. в разделе Статистика.
При восстановлении базы данных в SQL Server 2022 (16.x) из предыдущей версии необходимо выполнить sp_updatestats в базе данных. Это связано с настройкой соответствующих метаданных для функции автоматического удаления статистики, представленной в SQL Server 2022 (16.x). В Базе данных SQL Azure, Управляемом экземпляре SQL Azure и SQL Server 2022 (16.x) и более поздних версиях автоматически создается статистика, как если бы AUTO_DROP была задана.
Разрешения
Для SQL Server необходимо быть владельцем базы данных (dbo) или членом предопределенных ролей сервера sysadmin .
Для База данных SQL Azure необходимо быть членом предопределенных ролей базы данных db_owner.
Примеры
В следующем примере обновляется статистика для всех таблиц базы данных:
USE AdventureWorks2022;
GO
EXECUTE sp_updatestats;
Автоматическое управление индексами и статистикой
Используйте такие решения, как Адаптивная дефрагментация индекса, для автоматического управления дефрагментацией индекса и обновлением статистики для одной или больше баз данных. С помощью линейного порогового значения эта процедура автоматически принимает решение о перестройке или реорганизации индекса в зависимости от его уровня фрагментации и других параметров, а также об обновлении статистики.
Связанный контент
- Системные хранимые процедуры (Transact-SQL)
- Параметры 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)
- sys.dm_db_stats_properties
- UPDATE STATISTICS (Transact-SQL)