Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Database SQL di Microsoft Fabric
Melaporkan dan memperbaiki ketidakakuratan jumlah halaman dan baris dalam tampilan katalog. Ketidakakuratan ini dapat menyebabkan laporan penggunaan ruang yang salah yang dikembalikan oleh prosedur tersimpan sp_spaceused sistem.
Sintaks
DBCC UPDATEUSAGE
( { database_name | database_id | 0 }
[ , { table_name | table_id | view_name | view_id }
[ , { index_name | index_id } ] ]
) [ WITH [ NO_INFOMSGS ] [ , ] [ COUNT_ROWS ] ]
Argumen
| database_name database_id | 0
Nama atau ID database untuk melaporkan dan memperbaiki statistik penggunaan ruang. Jika 0 ditentukan, database saat ini digunakan. Nama database harus mematuhi aturan untuk pengidentifikasi.
| |
Nama atau ID tabel atau tampilan terindeks untuk melaporkan dan memperbaiki statistik penggunaan ruang. Nama tabel dan tampilan harus mematuhi aturan untuk pengidentifikasi.
| index_id index_name
ID atau nama indeks yang akan digunakan. Jika tidak ditentukan, pernyataan memproses semua indeks untuk tabel atau tampilan yang ditentukan.
WITH
Memungkinkan opsi ditentukan.
NO_INFOMSGS
Menekan semua pesan informasi.
COUNT_ROWS
Menentukan bahwa kolom jumlah baris diperbarui dengan jumlah baris saat ini dalam tabel atau tampilan.
Keterangan
DBCC UPDATEUSAGE mengoreksi baris, halaman yang digunakan, halaman yang dipesan, halaman daun, dan jumlah halaman data untuk setiap partisi dalam tabel atau indeks. Jika tidak ada ketidakakuratan dalam tabel sistem, DBCC UPDATEUSAGE tidak mengembalikan data. Jika ketidakakuratan ditemukan dan dikoreksi dan WITH NO_INFOMSGS tidak digunakan, DBCC UPDATEUSAGE mengembalikan baris dan kolom yang sedang diperbarui dalam tabel sistem.
DBCC CHECKDB telah ditingkatkan untuk mendeteksi kapan jumlah halaman atau baris menjadi negatif. Saat terdeteksi, DBCC CHECKDB output berisi peringatan dan rekomendasi untuk dijalankan DBCC UPDATEUSAGE untuk mengatasi masalah tersebut.
Praktik terbaik
Kami merekomendasikan hal-hal berikut:
- Jangan berjalan
DBCC UPDATEUSAGEsecara rutin, karena SQL Server mempertahankan metadata dalam sebagian besar keadaan.DBCC UPDATEUSAGEharus dijalankan sesuai kebutuhan, misalnya, ketika Anda mencurigai nilai yang salah dikembalikan olehsp_spaceused.DBCC UPDATEUSAGEdapat memakan waktu untuk berjalan pada tabel atau database besar. - Pertimbangkan untuk berjalan
DBCC UPDATEUSAGEsecara rutin (misalnya, mingguan) hanya jika database mengalami modifikasi Data Definition Language (DDL) yang sering, seperti pernyataan CREATE, ALTER, atau DROP.
Tataan hasil
DBCC UPDATEUSAGE returns (nilai dapat bervariasi):
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Izin
Memerlukan keanggotaan dalam peran server tetap sysadmin atau peran database tetap db_owner .
Contoh
J. Memperbarui jumlah halaman atau baris atau keduanya untuk semua objek dalam database saat ini
Contoh berikut menentukan 0 nama database dan DBCC UPDATEUSAGE laporan informasi jumlah baris atau halaman yang diperbarui untuk database saat ini.
DBCC UPDATEUSAGE (0);
GO
B. Memperbarui jumlah halaman atau baris atau keduanya untuk AdventureWorks, dan menekan pesan informasi
Contoh berikut menentukan AdventureWorks2025 sebagai nama database dan menekan semua pesan informasi.
DBCC UPDATEUSAGE (AdventureWorks2022) WITH NO_INFOMSGS;
GO
C. Memperbarui jumlah halaman atau baris atau keduanya untuk tabel Karyawan
Contoh berikut melaporkan informasi jumlah halaman atau baris yang Employee diperbarui untuk tabel dalam AdventureWorks2025 database.
DBCC UPDATEUSAGE (AdventureWorks2022, 'HumanResources.Employee');
GO
D. Memperbarui jumlah halaman atau baris atau keduanya untuk indeks tertentu dalam tabel
Contoh berikut menentukan IX_Employee_ManagerID sebagai nama indeks.
DBCC UPDATEUSAGE (AdventureWorks2022, 'HumanResources.Employee', IX_Employee_OrganizationLevel_OrganizationNode);
GO