Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
Jelentések és javítások az oldalak és a sorok számának pontatlanságairól a katalógusnézetekben. Ezek a pontatlanságok a sp_spaceused rendszer által tárolt eljárás által visszaadott helytelen helyhasználati jelentéseket okozhatják.
Transact-SQL szintaxis konvenciói
Szintaxis
DBCC UPDATEUSAGE
( { database_name | database_id | 0 }
[ , { table_name | table_id | view_name | view_id }
[ , { index_name | index_id } ] ]
) [ WITH [ NO_INFOMSGS ] [ , ] [ COUNT_ROWS ] ]
Érvek
| database_namedatabase_id | 0
Annak az adatbázisnak a neve vagy azonosítója, amelynek jelentésére és a helyhasználati statisztikák javítására szolgál. Ha 0 van megadva, a rendszer az aktuális adatbázist használja. Az adatbázisneveknek meg kell felelniük azonosítókszabályainak.
table_name | table_id | view_name | view_id
Annak a táblázatnak vagy indexelt nézetnek a neve vagy azonosítója, amelynek jelentésére és a térhasználati statisztikák javítására szolgál. A tábla- és nézetneveknek meg kell felelniük az azonosítókra vonatkozó szabályoknak.
index_id | index_name
A használni kívánt index azonosítója vagy neve. Ha nincs megadva, az utasítás feldolgozza a megadott tábla vagy nézet összes indexét.
VAL
Lehetővé teszi a beállítások megadását.
NO_INFOMSGS
Letiltja az összes tájékoztató üzenetet.
COUNT_ROWS
Megadja, hogy a sorszám oszlop frissül-e a tábla vagy nézetben lévő sorok számának aktuális számával.
Megjegyzések
DBCC UPDATEUSAGE kijavítja a táblák vagy indexek egyes partícióinak sorait, használt lapjait, fenntartott lapjait, levéloldalait és adatoldalainak számát. Ha nincsenek pontatlanságok a rendszertáblákban, DBCC UPDATEUSAGE nem ad vissza adatokat. Ha pontatlanságok találhatók és javítva vannak, és a WITH NO_INFOMSGS nincs használatban, DBCC UPDATEUSAGE a rendszertáblákban frissített sorokat és oszlopokat adja vissza.
DBCC CHECKDB javítottuk annak észlelésére, hogy az oldal- vagy sorszám mikor válik negatívvá. Ha észleli, a DBCC CHECKDB kimenet figyelmeztetést és javaslatot tartalmaz a DBCC UPDATEUSAGE futtatására a probléma megoldásához.
Ajánlott eljárások
A következőket javasoljuk:
- Ne futtasson rutinszerűen
DBCC UPDATEUSAGE, mivel az SQL Server a legtöbb esetben fenntartja a metaadatokat.DBCC UPDATEUSAGEszükség szerint kell futtatni, például ha azt gyanítja, hogy helytelen értékeket ad visszasp_spaceused.DBCC UPDATEUSAGEnagy táblákon vagy adatbázisokon való futtatás eltarthat egy ideig. - Érdemes lehet
DBCC UPDATEUSAGErutinszerűen (például hetente) futtatni, ha az adatbázis gyakran módosítja az adatdefiníciós nyelvet (DDL), például CREATE, ALTER vagy DROP utasítást.
Eredményhalmazok
DBCC UPDATEUSAGE eredménye (az értékek eltérőek lehetnek):
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Engedélyek
A sysadmin rögzített kiszolgálói szerepkörben vagy a db_owner rögzített adatbázis-szerepkörben való tagság szükséges.
Példák
Egy. Az aktuális adatbázis összes objektumának lap- vagy sorszámának vagy mindkettőjének frissítése
Az alábbi példa az adatbázis nevének 0 adja meg, és DBCC UPDATEUSAGE az aktuális adatbázis frissített oldal- vagy sorszámadatait jelenti.
DBCC UPDATEUSAGE (0);
GO
B. Az AdventureWorks oldal- vagy sorszámának vagy mindkettőnek frissítése és az információs üzenetek letiltása
Az alábbi példa AdventureWorks2025 adja meg az adatbázis neveként, és letiltja az összes tájékoztató üzenetet.
DBCC UPDATEUSAGE (AdventureWorks2022) WITH NO_INFOMSGS;
GO
C. Az Alkalmazott tábla oldal- vagy sorszámának frissítése vagy mindkettő
Az alábbi példa a Employee adatbázis AdventureWorks2025 táblájának frissített lap- vagy sorszámadatait ismerteti.
DBCC UPDATEUSAGE (AdventureWorks2022, 'HumanResources.Employee');
GO
D. Egy tábla adott indexének lap- vagy sorszámának vagy mindkettőnek frissítése
Az alábbi példa a IX_Employee_ManagerID adja meg indexnévként.
DBCC UPDATEUSAGE (AdventureWorks2022, 'HumanResources.Employee', IX_Employee_OrganizationLevel_OrganizationNode);
GO