Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric
Rapporteert en corrigeert pagina's en onnauwkeurigheden in de catalogusweergaven. Deze onnauwkeurigheden kunnen leiden tot onjuiste ruimtegebruiksrapporten die door de sp_spaceused systeembewaarde procedure worden teruggegeven.
Transact-SQL syntaxis-conventies
Syntaxis
DBCC UPDATEUSAGE
( { database_name | database_id | 0 }
[ , { table_name | table_id | view_name | view_id }
[ , { index_name | index_id } ] ]
) [ WITH [ NO_INFOMSGS ] [ , ] [ COUNT_ROWS ] ]
Arguments
| database_namedatabase_id | 0
De naam of ID van de database waarvoor ruimtegebruikstatistieken worden gerapporteerd en gecorrigeerd. Als 0 is opgegeven, wordt de huidige database gebruikt. Databasenamen moeten voldoen aan de regels voor id's.
table_name | table_id | view_name | view_id
De naam of ID van de tabel of geïndexeerde weergave waarvoor ruimtegebruiksstatistieken worden gerapporteerd en gecorrigeerd. Tabel- en weergavenamen moeten voldoen aan de regels voor identificaties.
index_id | index_name
De ID of naam van de index die gebruikt moet worden. Indien niet gespecificeerd, verwerkt de instructie alle indexen voor de opgegeven tabel of weergave.
WITH
Maakt het mogelijk om opties te specificeren.
NO_INFOMSGS
Onderdrukt alle informatieve berichten.
COUNT_ROWS
Geeft aan dat de kolom met het aantal rijen wordt bijgewerkt met het huidige aantal rijen in de tabel of weergave.
Opmerkingen
DBCC UPDATEUSAGE corrigeert de rijen, gebruikte pagina's, gereserveerde pagina's, bladpagina's en het aantal gegevenspagina's voor elke partitie in een tabel of index. Als er geen onnauwkeurigheden in de systeemtabellen zijn, DBCC UPDATEUSAGE geeft geen data terug. Als onnauwkeurigheden worden gevonden en gecorrigeerd en MET NO_INFOMSGS niet wordt gebruikt, DBCC UPDATEUSAGE wordt de rijen en kolommen die in de systeemtabellen worden bijgewerkt teruggegeven.
DBCC CHECKDB is verbeterd om te detecteren wanneer pagina- of rijtellingen negatief worden. Wanneer het wordt gedetecteerd, bevat de DBCC CHECKDB uitvoer een waarschuwing en een aanbeveling om het probleem aan te DBCC UPDATEUSAGE pakken.
Beste praktijken
We raden het volgende aan:
- Voer niet routinematig uit
DBCC UPDATEUSAGE, want SQL Server onderhoudt de metadata onder de meeste omstandigheden.DBCC UPDATEUSAGEmoet op basis van behoefte worden uitgevoerd, bijvoorbeeld wanneer u vermoedt dat onjuiste waarden worden teruggegeven doorsp_spaceused.DBCC UPDATEUSAGEHet kan enige tijd kosten om op grote tabellen of databases te draaien. - Overweeg routinematig (bijvoorbeeld wekelijks) te draaien
DBCC UPDATEUSAGEalleen als de database vaak Data Definition Language (DDL) wijzigingen ondergaat, zoals CREATE, ALTER of DROP-instructies.
Resultatensets
DBCC UPDATEUSAGE rendementen (waarden kunnen variëren):
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Permissions
Vereist lidmaatschap van de sysadmin vaste serverfunctie of de db_owner vaste databaserol.
Voorbeelden
Eén. Updatepagina- of rijtellingen, of beide, voor alle objecten in de huidige database
Het volgende voorbeeld specificeert 0 voor de databasenaam en DBCC UPDATEUSAGE rapporten bijgewerkte pagina- of rijaantalinformatie voor de huidige database.
DBCC UPDATEUSAGE (0);
GO
B. Updatepagina- of rijtellingen of beide voor AdventureWorks, en het onderdrukken van informatieve berichten
Het volgende voorbeeld specificeert AdventureWorks2025 als databasenaam en onderdrukt alle informatieve berichten.
DBCC UPDATEUSAGE (AdventureWorks2022) WITH NO_INFOMSGS;
GO
C. Updatepagina- of rijtellingen, of beide, voor de Medewerkerstabel
Het volgende voorbeeld geeft bijgewerkte pagina- of rijaantalinformatie voor de Employee tabel in de AdventureWorks2025 database.
DBCC UPDATEUSAGE (AdventureWorks2022, 'HumanResources.Employee');
GO
D. Updatepagina- of rijtellingen of beide voor een specifieke index in een tabel
Het volgende voorbeeld specificeert IX_Employee_ManagerID als indexnaam.
DBCC UPDATEUSAGE (AdventureWorks2022, 'HumanResources.Employee', IX_Employee_OrganizationLevel_OrganizationNode);
GO
Zie ook
- DBCC (Transact-SQL)
- sp_spaceused (Transact-SQL)
- UPDATESTATISTIEKEN (Transact-SQL)