sp_autostats (Transact-SQL)
Zeigt die AUTO_UPDATE_STATISTICS-Option zum automatischen Statistikupdate für einen Index, ein Statistikobjekt, eine Tabelle oder eine indizierte Sicht an oder ändert sie.
Weitere Informationen zur AUTO_UPDATE_STATISTICS-Option finden Sie unter ALTER DATABASE SET-Optionen (Transact-SQL) und Statistik.
Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version), Windows Azure SQL-Datenbank (Ursprüngliche Version bis aktuelle Version). |
Transact-SQL-Syntaxkonventionen
Syntax
sp_autostats [ @tblname = ] 'table_or_indexed_view_name'
[ , [ @flagc = ] 'stats_value' ]
[ , [ @indname = ] 'statistics_name' ]
Argumente
[ @tblname= ] 'table_or_indexed_view_name'
Der Name der Tabelle oder indizierten Sicht, für die die AUTO_UPDATE_STATISTICS-Option angezeigt werden soll. table_or_indexed_view_name ist vom Datentyp nvarchar(776) und hat keinen Standardwert.[ @flagc= ] 'stats_value'
Aktualisiert die AUTO_UPDATE_STATISTICS-Option auf einen dieser Werte:ON = ON
OFF = OFF
Wenn stats_flag nicht angegeben wird, wird die aktuelle AUTO_UPDATE_STATISTICS-Einstellung angezeigt. stats_value ist vom Datentyp varchar(10). Der Standardwert ist NULL.
[ @indname= ] 'statistics_name'
Der Name der Statistik, für die die AUTO_UPDATE_STATISTICS-Option angezeigt oder aktualisiert werden soll. Um die Statistik für einen Index anzuzeigen, können Sie den Namen des Indexes verwenden. Ein Index und das dazugehörige Statistikobjekt verfügen über den gleichen Namen.statistics_name ist vom Datentyp sysname und hat den Standardwert NULL.
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Resultsets
Wenn stats_flag angegeben ist, erstellt sp_autostats einen Bericht über die ausgeführte Aktion. Es wird jedoch kein Resultset zurückgegeben.
Wenn stats_flag nicht angegeben ist, gibt sp_autostats das folgende Resultset zurück.
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
Indexname |
varchar(60) |
Name des Indexes oder der Statistik. |
AUTOSTATS |
varchar(3) |
Aktueller Wert für die AUTO_UPDATE_STATISTICS-Option. |
Zuletzt aktualisiert |
datetime |
Das Datum des letzten Statistikupdates. |
Das Resultset für eine Tabelle oder indizierte Sicht umfasst Statistiken, die für Indizes, Statistiken für einzelne Spalten, die mit der AUTO_CREATE_STATISTICS-Option generiert wurden, und mit der CREATE STATISTICS-Anweisung generierte Statistiken erstellt wurden.
Hinweise
Wenn der angegebene Index deaktiviert ist oder die angegebene Tabelle einen deaktivierten gruppierten Index enthält, wird eine Fehlermeldung angezeigt.
AUTO_UPDATE_STATISTICS ist für speicheroptimierte Tabellen immer auf OFF festgelegt.
Berechtigungen
Zum Ändern der AUTO_UPDATE_STATISTICS-Option ist eine Mitgliedschaft in der festen Datenbankrolle db_owner oder eine ALTER-Berechtigung für table_name erforderlich. Zum Anzeigen der AUTO_UPDATE_STATISTICS-Option ist eine Mitgliedschaft in der public-Rolle erforderlich.
Beispiele
A.Anzeigen des Status aller Statistiken für eine Tabelle
Das folgende Beispiel zeigt den Status aller Statistiken für die Product-Tabelle an.
USE AdventureWorks2012;
GO
EXEC sp_autostats 'Production.Product';
GO
B.Aktivieren von AUTO_UPDATE_STATISTICS für alle Statistiken zu einer Tabelle
Im folgenden Beispiel wird die AUTO_UPDATE_STATISTICS-Option für alle Statistiken zur Product-Tabelle aktiviert.
USE AdventureWorks2012;
GO
EXEC sp_autostats 'Production.Product', 'ON';
GO
C.Deaktivieren von AUTO_UPDATE_STATISTICS für einen bestimmten Index
Im folgenden Beispiel wird die AUTO_UPDATE_STATISTICS-Option für den AK_Product_Name-Index der Product-Tabelle deaktiviert.
USE AdventureWorks2012;
GO
EXEC sp_autostats 'Production.Product', 'OFF', AK_Product_Name;
GO
Siehe auch
Verweis
ALTER DATABASE SET-Optionen (Transact-SQL)
Gespeicherte Prozeduren für das Datenbankmodul (Transact-SQL)
CREATE STATISTICS (Transact-SQL)
DBCC SHOW_STATISTICS (Transact-SQL)
DROP STATISTICS (Transact-SQL)
UPDATE STATISTICS (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)