sp_autostats (Transact-SQL)

Zeigt die AUTO_UPDATE_STATISTICS-Option zur automatischen Statistikaktualisierung 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 Verwenden von Statistiken zum Verbessern der Abfrageleistung.

Themenlink (Symbol)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 verfügt über 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 entspricht varchar(10) und hat den Standardwert 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 Index 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 Index oder der Statistik.

AUTOSTATS

varchar(3)

Aktueller Wert für die AUTO_UPDATE_STATISTICS-Option.

Zuletzt aktualisiert

datetime

Das Datum der letzten Statistikaktualisierung.

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.

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 AdventureWorks;
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 AdventureWorks;
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 AdventureWorks;
GO
EXEC sp_autostats 'Production.Product', 'OFF', AK_Product_Name;
GO

Änderungsverlauf

Aktualisierter Inhalt

Das gesamte Dokument wurde überarbeitet, um die Genauigkeit zu verbessern.

Das Thema verweist auf neuen Statistikinhalt im Thema Verwenden von Statistiken zum Verbessern der Abfrageleistung.