Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
Katalog görünümlerindeki sayfaları ve satır sayısı yanlışlarını raporlar ve düzeltir. Bu yanlışlıklar, sp_spaceused sistem saklı yordamı tarafından döndürülen yanlış alan kullanım raporlarına neden olabilir.
Transact-SQL söz dizimi kuralları
Sözdizimi
DBCC UPDATEUSAGE
( { database_name | database_id | 0 }
[ , { table_name | table_id | view_name | view_id }
[ , { index_name | index_id } ] ]
) [ WITH [ NO_INFOMSGS ] [ , ] [ COUNT_ROWS ] ]
Bağımsız değişken
| database_namedatabase_id | 0
Alan kullanımı istatistiklerinin raporlandığı ve düzeltildiği veritabanının adı veya kimliği. 0 belirtilirse geçerli veritabanı kullanılır. Veritabanı adları tanımlayıcılarının kurallarına uymalıdır.
table_name | table_id | view_name | view_id
Alan kullanımı istatistiklerinin raporlandığı ve düzeltildiği tablonun veya dizine alınan görünümün adı veya kimliği. Tablo ve görünüm adları, tanımlayıcıların kurallarına uymalıdır.
index_id | index_name
Kullanılacak dizinin kimliği veya adı. Belirtilmezse, deyimi belirtilen tablo veya görünüm için tüm dizinleri işler.
İLE
Seçeneklerin belirtilmesine izin verir.
NO_INFOMSGS
Tüm bilgilendirme iletilerini gizler.
COUNT_ROWS
Satır sayısı sütununun tablo veya görünümdeki satır sayısının geçerli sayısıyla güncelleştirildiğini belirtir.
Açıklamalar
DBCC UPDATEUSAGE bir tablo veya dizindeki her bölüm için satırları, kullanılan sayfaları, ayrılmış sayfaları, yaprak sayfaları ve veri sayfası sayılarını düzeltir. Sistem tablolarında yanlışlık yoksa DBCC UPDATEUSAGE veri döndürmez. Yanlışlar bulunur ve düzeltilirse ve WITH NO_INFOMSGS kullanılmazsa, DBCC UPDATEUSAGE sistem tablolarında güncelleştirilen satırları ve sütunları döndürür.
DBCC CHECKDB, sayfa veya satır sayısının ne zaman negatif olduğunu algılamak için geliştirilmiştir. Algılandığında, DBCC CHECKDB çıkışı bir uyarı ve sorunu gidermek için DBCC UPDATEUSAGE çalıştırma önerisi içerir.
En iyi yöntemler
Aşağıdakileri öneririz:
- SQL Server çoğu durumda meta verileri koruduğundan
DBCC UPDATEUSAGEdüzenli olarak çalıştırmayın.DBCC UPDATEUSAGE, örneğinsp_spaceusedtarafından yanlış değerlerin döndürülmekte olduğundan şüpheleniyorsanız, gerektiği şekilde çalıştırılmalıdır.DBCC UPDATEUSAGEbüyük tablolarda veya veritabanlarında çalıştırılması biraz zaman alabilir. -
DBCC UPDATEUSAGEdüzenli olarak (örneğin, haftalık) çalıştırmayı göz önünde bulundurun, ancak veritabanı CREATE, ALTER veya DROP deyimleri gibi sık sık Veri Tanımı Dili (DDL) değişikliklerine tabi tutulsa.
Sonuç kümeleri
DBCC UPDATEUSAGE döndürür (değerler değişebilir):
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
İzinler
sysadmin sabit sunucu rolüne veya db_owner sabit veritabanı rolüne üyelik gerektirir.
Örnekler
A. Geçerli veritabanındaki tüm nesneler için sayfa veya satır sayılarını ya da her ikisini güncelleştirin
Aşağıdaki örnek, veritabanı adı için 0 belirtir ve geçerli veritabanı için güncelleştirilmiş sayfa veya satır sayısı bilgilerini DBCC UPDATEUSAGE raporlar.
DBCC UPDATEUSAGE (0);
GO
B. AdventureWorks için sayfa veya satır sayılarını veya her ikisini de güncelleştirin ve bilgilendiren iletileri gizleyin
Aşağıdaki örnek, veritabanı adı olarak AdventureWorks2025 belirtir ve tüm bilgilendirme iletilerini gizler.
DBCC UPDATEUSAGE (AdventureWorks2022) WITH NO_INFOMSGS;
GO
C. Çalışan tablosu için sayfa veya satır sayılarını veya her ikisini de güncelleştirin
Aşağıdaki örnek, Employee veritabanındaki AdventureWorks2025 tablosu için güncelleştirilmiş sayfa veya satır sayısı bilgilerini raporlar.
DBCC UPDATEUSAGE (AdventureWorks2022, 'HumanResources.Employee');
GO
D. Tablodaki belirli bir dizin için sayfa veya satır sayılarını veya her ikisini de güncelleştirme
Aşağıdaki örnek, dizin adı olarak IX_Employee_ManagerID belirtir.
DBCC UPDATEUSAGE (AdventureWorks2022, 'HumanResources.Employee', IX_Employee_OrganizationLevel_OrganizationNode);
GO