DBCC UPDATEUSAGE (Transact-SQL)DBCC UPDATEUSAGE (Transact-SQL)

DIESES THEMA GILT FÜR:jaSQL Server (ab 2008)jaAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)yesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Meldet und behebt Ungenauigkeiten bei den Seiten- und Zeilenzahlen in den Katalogsichten.Reports and corrects pages and row count inaccuracies in the catalog views. Diese Ungenauigkeiten können falsche Berichte über die Speicherplatzverwendung verursachen, die von der gespeicherten Systemprozedur sp_spaceused zurückgegeben werden.These inaccuracies may cause incorrect space usage reports returned by the sp_spaceused system stored procedure.

Themenlinksymbol Transact-SQL Syntax Conventions (Transact-SQL-Syntaxkonventionen)Topic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

DBCC UPDATEUSAGE   
(   { database_name | database_id | 0 }   
    [ , { table_name | table_id | view_name | view_id }   
    [ , { index_name | index_id } ] ]   
) [ WITH [ NO_INFOMSGS ] [ , ] [ COUNT_ROWS ] ]   

ArgumenteArguments

Database_name | Database_id | 0database_name | database_id | 0
Name oder ID der Datenbank, deren Statistiken zur Speicherverwendung mitgeteilt und korrigiert werden sollen.Is the name or ID of the database for which to report and correct space usage statistics. Wird 0 angegeben, wird die aktuelle Datenbank verwendet.If 0 is specified, the current database is used. Datenbanknamen müssen den Regeln für entsprechen Bezeichner.Database names must comply with the rules for identifiers.

TABLE_NAME | Table_id | View_name | View_idtable_name | table_id | view_name | view_id
Name oder ID der Tabelle oder indizierten Sicht, deren Statistiken zur Speicherverwendung mitgeteilt und korrigiert werden sollen.Is the name or ID of the table or indexed view for which to report and correct space usage statistics. Tabellen- und Sichtnamen müssen den Regeln für Bezeichner entsprechen.Table and view names must comply with the rules for identifiers.

Index_id | Index_nameindex_id | index_name
ID oder Name des zu verwendenden Indexes.Is the ID or name of the index to use. Falls nicht angegeben, werden von der Anweisung alle Indizes der angegebenen Tabelle oder Sicht verarbeitet.If not specified, the statement processes all indexes for the specified table or view.

mitWITH
Ermöglicht die Angabe von Optionen.Allows options to be specified.

NO_INFOMSGSNO_INFOMSGS
Alle Informationsmeldungen werden unterdrückt.Suppresses all informational messages.

COUNT_ROWSCOUNT_ROWS
Gibt an, dass die row count-Spalte mit der aktuellen Anzahl von Tabellen- oder Sichtzeilen aktualisiert wird.Specifies that the row count column is updated with the current count of the number of rows in the table or view.

HinweiseRemarks

DBCC UPDATEUSAGE korrigiert die Anzahl der Zeilen, verwendeten Seiten, reservierten Seiten, Blattseiten und Datenseiten jeder Partition in Tabellen und Indizes.DBCC UPDATEUSAGE corrects the rows, used pages, reserved pages, leaf pages and data page counts for each partition in a table or index. Wurden keine Ungenauigkeiten in den Systemtabellen festgestellt, werden von DBCC UPDATEUSAGE keine Daten zurückgegeben.If there are no inaccuracies in the system tables, DBCC UPDATEUSAGE returns no data. Wurden Ungenauigkeiten gefunden und korrigiert und wurde WITH NO_INFOMSGS nicht verwendet, gibt DBCC UPDATEUSAGE die Zeilen und Spalten zurück, die in den Systemtabellen aktualisiert wurden.If inaccuracies are found and corrected and WITH NO_INFOMSGS is not used, DBCC UPDATEUSAGE returns the rows and columns being updated in the system tables.

DBCC CHECKDB wurde verbessert, sodass nun erkannt wird, wenn Seiten- oder Zeilenzähler negativ werden.DBCC CHECKDB has been enhanced to detect when page or row counts become negative. Wenn dies festgestellt wird, enthält die Ausgabe von DBCC CHECKDB eine Warnung und die Empfehlung, DBCC UPDATEUSAGE auszuführen, um das Problem zu beseitigen.When detected, the DBCC CHECKDB output contains a warning and a recommendation to run DBCC UPDATEUSAGE to address the issue.

Bewährte MethodenBest Practices

Es wird Folgendes empfohlen:We recommend the following:

  • Führen Sie DBCC UPDATEUSAGE nicht routinemäßig aus.Do not run DBCC UPDATEUSAGE routinely. Da das Ausführen von DBCC UPDATEUSAGE für große Tabellen oder Datenbanken einige Zeit in Anspruch nehmen kann, sollte es nur dann verwendet werden, wenn Sie vermuten, dass falsche Werte von sp_spaceused zurückgegeben werden.Because DBCC UPDATEUSAGE can take some time to run on large tables or databases, it should not be used only unless you suspect incorrect values are being returned by sp_spaceused.
  • Führen Sie DBCC UPDATEUSAGE nur dann routinemäßig (z. B. wöchentlich) aus, wenn die Datenbank häufig mithilfe der Datendefinitionssprache (Data Definition Language, DDL) z. B. durch die Anweisungen CREATE, ALTER oder DROP geändert wird.Consider running DBCC UPDATEUSAGE routinely (for example, weekly) only if the database undergoes frequent Data Definition Language (DDL) modifications, such as CREATE, ALTER, or DROP statements.

ResultsetsResult Sets

DBCC UPDATEUSAGE gibt Folgendes zurück (die tatsächlichen Werte können davon abweichen):DBCC UPDATEUSAGE returns (values may vary):

DBCC execution completed. If DBCC printed error messages, contact your system administrator.

BerechtigungenPermissions

Erfordert die Mitgliedschaft in der festen Serverrolle sysadmin oder der festen Datenbankrolle db_owner .Requires membership in the sysadmin fixed server role or the db_owner fixed database role.

BeispieleExamples

A.A. Aktualisieren von Seiten- oder Zeilenzahlen oder beidem für alle Objekte in der aktuellen DatenbankUpdating page or row counts or both for all objects in the current database

Im folgenden Beispiel wird 0 für den Datenbanknamen angegeben, und DBCC UPDATEUSAGE meldet aktualisierte Informationen zur Seiten- oder Zeilenzahl für die aktuelle Datenbank.The following example specifies 0 for the database name and DBCC UPDATEUSAGE reports updated page or row count information for the current database.

DBCC UPDATEUSAGE (0);  
GO  

B.B. Aktualisieren von Seiten- oder Zeilenzahlen oder beidem für AdventureWorks und Unterdrücken von InformationsmeldungenUpdating page or row counts or both for AdventureWorks, and suppressing informational messages

Im folgenden Beispiel wird AdventureWorks2012AdventureWorks2012 als Datenbankname angegeben, und es werden alle Informationsmeldungen unterdrückt.The following example specifies AdventureWorks2012AdventureWorks2012 as the database name and suppresses all informational messages.

DBCC UPDATEUSAGE (AdventureWorks2012) WITH NO_INFOMSGS;   
GO  

C.C. Aktualisieren von Seiten- oder Zeilenzahlen oder beidem für die Employee-TabelleUpdating page or row counts or both for the Employee table

Das folgende Beispiel meldet aktualisierte Seiten- oder Count-Informationen für die Employee -Tabelle in der AdventureWorks2012AdventureWorks2012 Datenbank.The following example reports updated page or row count information for the Employee table in the AdventureWorks2012AdventureWorks2012 database.

DBCC UPDATEUSAGE (AdventureWorks2012,'HumanResources.Employee');  
GO  

D.D. Aktualisieren von Seiten- oder Zeilenzahlen oder beidem für einen bestimmten Index in einer TabelleUpdating page or row counts or both for a specific index in a table

Im folgenden Beispiel wird IX_Employee_ManagerID als Indexname angegeben.The following example specifies IX_Employee_ManagerID as the index name.

DBCC UPDATEUSAGE (AdventureWorks2012, 'HumanResources.Employee', IX_Employee_OrganizationLevel_OrganizationNode);  
GO  

Siehe auchSee Also

DBCC (Transact-SQL)DBCC (Transact-SQL)
Sp_spaceused ( Transact-SQL )sp_spaceused (Transact-SQL)
UPDATE STATISTICS (Transact-SQL)UPDATE STATISTICS (Transact-SQL)