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ı.

Konu bağlantısı simgesi 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

Ayrıca bkz.

Başvuru

DBCC (Transact-sql)

sp_spaceused (Transact-sql)

UPDATE STATISTICS (Transact-SQL)