sp_updatestats (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank
Wird für alle benutzerdefinierten und internen Tabellen in der aktuellen Datenbank ausgeführt UPDATE STATISTICS
.
Weitere Informationen finden UPDATE STATISTICS
Sie unter UPDATE STATISTICS. Weitere Informationen zu Statistiken finden Sie unter Statistik.
Transact-SQL-Syntaxkonventionen
Syntax
sp_updatestats [ [ @resample = ] 'resample' ]
Rückgabecodewerte
0
(erfolgreich) oder 1
Fehler.
Argumente
[ @resample = ] 'resample'
Gibt an, dass sp_updatestats
die RESAMPLE
Option der UPDATE STATISTICS -Anweisung verwendet wird. Wenn resample
nicht angegeben, sp_updatestats
aktualisiert die Statistik mithilfe des Standardsamplings. Das resample
Argument ist varchar(8) mit einem Standardwert von NO
.
Hinweise
sp_updatestats
führt durch Angeben des ALL
Schlüsselworts UPDATE STATISTICS
für alle benutzerdefinierten und internen Tabellen in der Datenbank aus. sp_updatestats
zeigt Meldungen an, die ihren Fortschritt angeben. Wenn das Update abgeschlossen ist, wird gemeldet, dass Statistiken für alle Tabellen aktualisiert werden.
sp_updatestats
aktualisiert Statistiken zu deaktivierten nicht gruppierten Indizes und aktualisiert keine Statistiken zu deaktivierten gruppierten Indizes.
Aktualisiert bei datenträgerbasierten Tabellen sp_updatestats
Statistiken basierend auf den modification_counter
Informationen in der sys.dm_db_stats_properties Katalogansicht, wobei Statistiken aktualisiert werden, in denen mindestens eine Zeile geändert wird. Statistiken zu speicheroptimierten Tabellen werden bei der Ausführung sp_updatestats
immer aktualisiert. Führen Sie daher nicht mehr als erforderlich aus sp_updatestats
.
sp_updatestats
kann eine erneute Kompilierung gespeicherter Prozeduren oder eines anderen kompilierten Codes auslösen. sp_updatestats
Kann jedoch keine erneute Kompilierung verursachen, wenn nur ein Abfrageplan für die Tabellen, auf die verwiesen wird, und die Indizes dafür möglich ist. Eine Neukompilierung wäre in diesen Fällen nicht erforderlich, selbst wenn die Statistiken aktualisiert werden.
sp_updatestats
behält die neueste NORECOMPUTE
Option für bestimmte Statistiken bei. Weitere Informationen zum Deaktivieren und erneuten Aktivieren von Statistikupdates finden Sie unter Statistiken.
Beim Wiederherstellen einer Datenbank in SQL Server 2022 (16.x) aus einer früheren Version sollten Sie die Datenbank ausführen sp_updatestats
. Dies bezieht sich auf das Festlegen der richtigen Metadaten für das Feature für das automatische Ablegen von Statistiken, das in SQL Server 2022 (16.x) eingeführt wurde. Das Feature zum automatischen Ablegen ist in Azure SQL-Datenbank, Azure SQL verwaltete Instanz und ab SQL Server 2022 (16.x) verfügbar.
Berechtigungen
Für SQL Server müssen Sie der Besitzer der Datenbank (dbo) oder ein Mitglied der festen Serverrolle "sysadmin " sein.
Für Azure SQL-Datenbank müssen Sie Mitglied der db_owner festen Datenbankrolle sein.
Beispiele
Im folgenden Beispiel werden die Statistiken für alle Tabellen aktualisiert, die die Datenbank enthält:
USE AdventureWorks2022;
GO
EXEC sp_updatestats;
Automatische Verwaltung von Index und Statistiken
Nutzen Sie Lösungen wie Adaptive Index Defrag, um die Indexdefragmentierung und das Aktualisieren der Statistiken für eine oder mehrere Datenbanken automatisch zu verwalten. Diese Vorgehensweise entscheidet unter anderem anhand des Fragmentierungsgrads automatisch, ob ein Index neu erstellt oder neu organisiert wird, und aktualisiert Statistiken mit einem linearen Schwellenwert.
Zugehöriger Inhalt
- Gespeicherte Systemprozeduren (Transact-SQL)
- ALTER DATABASE SET-Optionen (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)