Aracılığıyla paylaş


dbcc updateusage (Transact-SQL)

Sayfa ve satır sayısı yanlışlıklar katalog görünümleridüzeltir ve raporlar.Bu yanlışlıklar tarafından döndürülen yanlış alan kullanım raporları neden olabilir sp_spaceused saklı yordamsistem.

Konu bağlantısı simgesiTransact-SQL sözdizimi 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ı veya kimliği veritabanı rapor ve doğru alan 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 veya dizinli görünüm kimliği, rapor ve doğru alan kullanım istatistiklerini olduğu.Tablo ve Görünüm adları tanımlayıcıları kuralları uymanız gerekir.

  • index_id | index_name
    Kimliği veya dizini kullanmak için adıdır.Belirtilmezse, tüm dizinler için belirtilen tablo veya görünümü deyim işler.

  • İLE
    Belirtilmesi için seçenekler sağlar.

  • NO_INFOMSGS
    Bilgi tüm iletileri bastırır.

  • COUNT_ROWS
    Belirleyen row count sütun tablo veya Görünüm satır sayısı geçerli sayısı ile güncelleştirilir.

Açıklamalar

dbcc updateusage satırlar, kullanılan sayfaları, ayrılmış sayfaları, yaprak sayfaları düzeltir ve veri sayfa bir tablo veya dizin her bölüm için sayar.sistem tablolarıyok yanlışlıklar varsa, veri dbcc updateusage döndürür.Yanlışlıklar bulundu ve düzeltildi ve WITH NO_INFOMSGS kullanılmaz, satır ve sütun sistem tablolarıgüncelleştirilmekte dbcc updateusage döndürür.

sayfa veya satır sayar negatif olduğunda dbcc checkdb algılamak için geliştirilmiştir.Algılandığında, uyarı ve dbcc updateusage çalıştırmak için bir öneri sorunu gidermek için dbcc checkdb çıktı içerir.

En iyi yöntemler

  • dbcc updateusage veritabanından yükseltme yaptıktan sonra her zaman Çalıştır SQL Server 2000.sayfa ve satır sayılarını düzeltilir ve bundan sonra sürdürülür.

  • dbcc updateusage oluşturulmuş veritabanları için düzenli olarak çalıştırmayın SQL Server 2005 veya daha yüksek veya yükseltilmiş veritabanlarının, düzeltilmiş bir kez kullanarak dbcc updateusage.dbcc updateusage büyük tablolar veya veritabanları üzerinde çalıştırmak için saat alabilir çünkü yanlış olduğundan şüphelendiğiniz sürece değerleri tarafından iade edilen yalnızca onu kullanılmamalıdır sp_spaceused.

  • Yalnızca veritabanı create, alter veya drop deyimi gibi sık kullanılan veri tanımlama dili (DDL) değişiklikler geçer, düzenli olarak (örneğin, haftalık) çalışan dbcc updateusage göz önünde bulundurun.

Sonuç Kümeleri

dbcc updateusage döndürür (değerleri değişebilir):

DBCC execution completed. If DBCC printed error messages, contact your system administrator.

İzinler

Üyelik gerektiren sysadmin sabit sunucu rolü veya db_owner veritabanı rolüsabit.

Örnekler

A.sayfa veya satır sayar veya her ikisi de geçerli veritabanındaki tüm nesneler için güncelleştirme

Aşağıdaki örnekte verilmiştir 0 veritabanı adı ve DBCC UPDATEUSAGE raporları güncelleştirilmiş sayfa veya satır sayısı bilgileri için geçerli bir veritabanı.

DBCC UPDATEUSAGE (0);
GO

B.sayfa veya satır sayar veya her ikisi de güncelleştirilmesi ve bilgilendirme iletilerini gizleme

Aşağıdaki örnekte verilmiştir AdventureWorks2008R2 veritabanı adı olarak ve tüm bilgilendirme iletileri.

USE AdventureWorks2008R2;
GO
DBCC UPDATEUSAGE (AdventureWorks2008R2) WITH NO_INFOMSGS; 
GO

C.sayfa veya satır sayar veya her ikisi için bir tablogüncelleştiriliyor

Aşağıdaki örnek raporları için güncelleştirilmiş sayfa veya satır sayımı bilgilerini Employee tablo AdventureWorks2008R2 veritabanı.

USE AdventureWorks2008R2;
GO
DBCC UPDATEUSAGE (AdventureWorks2008R2,"HumanResources.Employee");
GO

D.sayfa veya satır sayar veya her ikisi için bir tablobelirli bir dizin güncelleştirme

Aşağıdaki örnek, bir dizin adı belirtir.

USE AdventureWorks2008R2;
GO
DBCC UPDATEUSAGE (AdventureWorks2008R2, "HumanResources.Employee", IX_Employee_OrganizationLevel_OrganizationNode);
GO