Megosztás a következőn keresztül:


sp_updatestats (Transact-SQL)

Vonatkozik a következőkre:SQL ServerAzure SQL DatabaseSQL adatbázis a Microsoft Fabric-ben

Az aktuális adatbázisban található összes felhasználó által definiált és belső táblán fut UPDATE STATISTICS .

További információ: UPDATE STATISTICSUPDATE STATISTICS. További információ a statisztikákról: Statistics.

Transact-SQL szintaxis konvenciók

Szemantika

sp_updatestats [ [ @resample = ] 'resample' ]

Kódértékek visszaadása

0 (sikeres) vagy 1 (hiba).

Érvek

[ @resample = ] 'újramintavétel'

sp_updatestats Az RESAMPLE utasítás beállítását használja. Ha resample nincs megadva, sp_updatestats az alapértelmezett mintavételezés használatával frissíti a statisztikákat. Az resample argumentum a varchar(8) alapértelmezett értéke NO.

Megjegyzések

sp_updatestats a kulcsszó megadásával végrehajtja UPDATE STATISTICSaz ALL adatbázis összes felhasználó által definiált és belső tábláján. sp_updatestats a folyamat előrehaladását jelző üzeneteket jelenít meg. A frissítés befejezése után a rendszer azt jelenti, hogy az összes tábla statisztikái frissülnek.

sp_updatestats frissíti a letiltott nemclustered indexekre vonatkozó statisztikákat, és nem frissíti a letiltott fürtözött indexek statisztikáit.

Lemezalapú táblák sp_updatestats esetén a modification_counter katalógusnézet információi alapján frissíti a statisztikákat, és frissíti azokat a statisztikákat, ahol legalább egy sor módosul. A memóriaoptimalizált táblák statisztikái mindig frissülnek a sp_updatestatsvégrehajtás során. Ezért ne hajtsa végre sp_updatestats a szükségesnél többet.

sp_updatestats a tárolt eljárások vagy más lefordított kód újrafordítását indíthatja el. Előfordulhat azonban, sp_updatestats hogy nem okoz újrafordítást, ha csak egy lekérdezési terv lehetséges a hivatkozott táblák és az indexek számára. Ezekben az esetekben az újrafordítás szükségtelen lenne, még akkor is, ha a statisztikák frissülnek.

sp_updatestats megőrzi az adott statisztikák legújabb NORECOMPUTE beállítását. A statisztikai frissítések letiltásáról és újbóli engedélyezéséről további információt a Statisztika című témakörben talál.

Amikor egy adatbázist egy korábbi verzióból az SQL Server 2022-re (16.x) állít vissza, az adatbázison kell végrehajtania sp_updatestats . Ez az SQL Server 2022-ben (16.x) bevezetett statisztika automatikus elvetési funkció megfelelő metaadatainak beállításával kapcsolatos. Az Azure SQL Database, az Azure SQL Managed Instance, valamint az SQL Server 2022 (16.x) és újabb verziókban az automatikusan létrehozott statisztikák mindig úgy viselkednek, mintha a AUTO_DROP lett volna beállítva.

Engedélyek

AZ SQL Server esetében az adatbázis (dbo) tulajdonosának vagy a sysadmin rögzített kiszolgálói szerepkör tagjának kell lennie.

Az Azure SQL Database-hez a db_owner rögzített adatbázis-szerepkör tagjának kell lennie.

Példák

Az alábbi példa frissíti az adatbázis összes táblájának statisztikáit:

USE AdventureWorks2022;
GO

EXECUTE sp_updatestats;

Automatikus index- és statisztikakezelés

A adaptív indextöredezettség-mentesítési segítségével automatikusan kezelheti egy vagy több adatbázis indextöredezettség- és statisztikai frissítéseit. Ez az eljárás automatikusan kiválasztja, hogy újraépít vagy átrendez egy indexet a töredezettségi szintnek megfelelően, többek között más paraméterekkel, és lineáris küszöbértékkel frissíti a statisztikákat.