dbcc updateusage (Transact-sql)
Sayfa ve satır sayısı yanlışlıklar Katalog görünümlerde düzeltir ve raporlar. Bu yanlışlıklar tarafından döndürülen yanlış alan kullanım raporları neden olabilir sp_spaceusedsistem saklı yordamını.
Transact-SQL Sözdizim 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şkenler
database_name | database_id | 0
Adını veya veritabanı Kımlığı için rapor ve doğru yer kullanım istatistiklerini olduğu. 0 Belirtilirse, geçerli veritabanı kullanılır. Veritabanı adları için kuralları ile uymak gerekir tanımlayıcıları.table_name | table_id | view_name | view_id
Adı veya tablo Kımlığı veya dizine görünümü için hangi raporu ve doğru yer kullanım istatistikleri. Tablo ve Görünüm adları tanımlayıcıları kuralları uymanız gerekir.index_id | index_name
ID ya da dizinin adını kullanmak olduğunu. Belirtilmezse, tüm dizinler için belirtilen tabloyu veya görünümü deyimi işler.İLE
Belirtilmesi için seçenekler sağlar.NO_INFOMSGS
Tüm bilgi iletilerini kapatır.COUNT_ROWS
Belirleyen row countsütun, tablo veya Görünüm satır sayısı geçerli sayısı ile güncelleştirilir.
Açıklamalar
dbcc updateusage düzeltir satırlar, kullanılan sayfaları ayrılmış sayfaları, yaprak sayfaları ve veri sayfası bir tablo veya dizin her bölüm için sayar. Sistem tabloları hiçbir yanlışlıklar varsa, veri dbcc updateusage döndürür. Yanlışlıklar bulundu ve düzeltildi ve ile NO_INFOMSGS kullanılmaz, satır ve sütunları sistem tabloları güncelleştirilmekte dbcc updateusage döndürür.
dbcc checkdb c.sayfa veya satır sayar negatif olduğunda algılamak için geliştirilmiştir. Ne zaman tespit, uyarı ve dbcc updateusage çalıştırmak için bir öneri sorunu gidermek için dbcc checkdb çıktı içerir.
En İyi Yöntemler
dbcc updateusage oluşturulmuş veritabanları için rutin olarak çalıştırmayın SQL Server 2005veya üstü veya dbcc updateusage kullanarak bir kez düzeltilmiştir yükseltilmiş veritabanlarının. dbcc updateusage büyük tablolar veya veritabanları üzerinde çalıştırmak için biraz uzun sürebilir çünkü, sadece sürece size yanlış şüpheli değerleri tarafından iade edilen o kullanılmamalıdır sp_spaceused.
Yalnızca veritabanı create, alter veya drop deyimleri gibi sık sık veri tanımlama dili (ddl) değişiklikler uğrar çalışan dbcc updateusage düzenli olarak (örneğin, haftalık) düşünün.
Sonuç Kümeleri
dbcc updateusage döndürür (değerleri farklı olabilir):
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 üye olmayı gerektirir.
Örnekler
A.C.sayfa veya satır sayar veya her ikisi de geçerli veritabanındaki tüm nesneleri güncelleştiriliyor
Aşağıdaki örnek 0veritabanı adı ve DBCC UPDATEUSAGEupdated raporları sayfa veya satır sayımı bilgilerini geçerli veritabanı için.
DBCC UPDATEUSAGE (0);
GO
B.Sayfa veya satır sayar veya her ikisi de AdventureWorks için güncelleme ve bilgi iletileri bastırmak
Aşağıdaki örnek AdventureWorks2012 veritabanı adı olarak ve bilgi tüm iletileri bastırır.
USE AdventureWorks2012;
GO
DBCC UPDATEUSAGE (AdventureWorks2012) WITH NO_INFOMSGS;
GO
C.C.sayfa veya satır sayar veya her ikisi de çalışan tablosu güncelleştiriliyor
Güncelleştirilmiş sayfa veya satır sayısı bilgileri için aşağıdaki örnek raporları Employee içinde masa AdventureWorks2012 veritabanı.
USE AdventureWorks2012;
GO
DBCC UPDATEUSAGE (AdventureWorks2012,"HumanResources.Employee");
GO
D.C.sayfa veya satır sayar veya her ikisi de bir tablodaki belirli bir dizin güncelleştirme
Aşağıdaki örnek IX_Employee_ManagerIDdizin adı.
USE AdventureWorks2012;
GO
DBCC UPDATEUSAGE (AdventureWorks2012, "HumanResources.Employee", IX_Employee_OrganizationLevel_OrganizationNode);
GO