Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí na:SQL Server
Azure SQL Database
SQL databáze v Microsoft Fabric
Spouští UPDATE STATISTICS se proti všem uživatelsky definovaným a interním tabulkám v aktuální databázi.
Další informace o UPDATE STATISTICSnástroji UPDATE STATISTICS naleznete v tématu AKTUALIZACE STATISTIKY. Další informace o statistikách naleznete v tématu Statistika.
Syntaxe
sp_updatestats [ [ @resample = ] 'resample' ]
Hodnoty návratového kódu
0 (úspěch) nebo 1 (selhání).
Argumenty
[ @resample = ] 'převzorkování'
Určuje, že sp_updatestats používá RESAMPLE možnost PŘÍKAZU UPDATE STATISTICS . Pokud resample není zadáno, sp_updatestats aktualizuje statistiky pomocí výchozího vzorkování. Argument resample je varchar(8) s výchozí hodnotou NO.
Poznámky
sp_updatestats
UPDATE STATISTICSspustí se zadáním klíčového ALL slova ve všech uživatelem definovaných a interních tabulkách v databázi.
sp_updatestats zobrazí zprávy, které označují jeho průběh. Po dokončení aktualizace hlásí, že se statistiky aktualizují pro všechny tabulky.
sp_updatestats aktualizuje statistiky o zakázaných neclusterovaných indexech a neaktualizuje statistiky u zakázaných clusterovaných indexů.
V případě tabulek sp_updatestats založených na disku aktualizuje statistiky na modification_counter základě informací v zobrazení katalogu sys.dm_db_stats_properties a aktualizuje se statistika, kde se upraví aspoň jeden řádek. Statistiky pro tabulky optimalizované pro paměť jsou při provádění vždy aktualizovány sp_updatestats. Proto se nespustí sp_updatestats víc, než je potřeba.
sp_updatestats může aktivovat rekompilace uložených procedur nebo jiného zkompilovaného kódu. Pokud je však možné použít pouze jeden plán dotazu pro tabulky odkazované na tabulky a indexy na ně, sp_updatestats nemusí být příčinou rekompilování. Rekompilace by v těchto případech byla zbytečná, i když se aktualizují statistiky.
sp_updatestats zachovává nejnovější NORECOMPUTE možnost pro konkrétní statistiky. Další informace o zakázání a opětovném povolení aktualizací statistik najdete v tématu Statistika.
Při obnovování databáze na SQL Server 2022 (16.x) z předchozí verze byste měli provést sp_updatestats databázi. To souvisí s nastavením správných metadat pro funkci automatického poklesu statistik zavedených v SYSTÉMU SQL Server 2022 (16.x). Ve službě Azure SQL Database, Azure SQL Managed Instance a SQL Serveru 2022 (16.x) a novějších verzích se automaticky vytvářejí statistiky, jako by byla nastavena AUTO_DROP .
Povolení
Pro SQL Server musíte být vlastníkem databáze (dbo) nebo členem pevné role serveru správce systému .
Pro Azure SQL Database musíte být členem db_owner pevné databázové role.
Příklady
Následující příklad aktualizuje statistiky pro všechny tabulky databáze:
USE AdventureWorks2022;
GO
EXECUTE sp_updatestats;
Automatická správa indexů a statistik
Pomocí řešení, jako je Adaptivní index Defrag, můžete automaticky spravovat defragmentaci indexu a aktualizace statistik pro jednu nebo více databází. Tento postup automaticky zvolí, zda se má index znovu sestavit nebo znovu uspořádat podle úrovně fragmentace, mimo jiné parametry, a aktualizovat statistiky lineární prahovou hodnotou.
Související obsah
- uložené procedury systému (Transact-SQL)
- ALTER DATABASE SET Options (Transact-SQL)
- VYTVOŘIT STATISTIKY (Transact-SQL)
-
DB SHOW_STATISTICS CC (Transact-SQL) - DROP STATISTIKY (Transact-SQL)
-
sp_autostats (Transact-SQL) - sp_createstats (Transact-SQL)
- sys.dm_db_stats_properties
- UPDATE STATISTICS (Transact-SQL)