Aracılığıyla paylaş


DBCC CHECKALLOC (Transact-SQL)

Disk alanı ayırma yapıları belirtilen veritabanının tutarlılığını denetler.

Topic link iconTransact-SQL sözdizimi kuralları

DBCC CHECKALLOC 
[
        ( database_name | database_id | 0 
      [ , NOINDEX 
      | , { REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD } ]
        )
    [ WITH 
        { 
          [ ALL_ERRORMSGS ]
          [ , NO_INFOMSGS ] 
          [ , TABLOCK ] 
          [ , ESTIMATEONLY ] 
        }
    ]
]

Bağımsız değişkenler

  • database_name | database_id | 0
    Veya ayırma ve sayfa kullanımını denetlemek, veritabanı kimliği adıdır.Belirtilmedi veya 0 belirtilirse, geçerli veritabanı kullanılır.

    Veritabanı adı gereken kuralları izleyintanımlayıcılar.

  • noindex
    Kullanıcı tablosu için kümelenmemiş dizinler değil denetlenmesi belirtir.

    Not

    NOINDEX yalnızca geriye dönük uyumluluk için korunur ve DBCC CHECKALLOC'u etkilemez.

  • repair_allow_data_loss | repair_fast | repair_rebuild
    Specifies that DBCC CHECKALLOC repair the found errors.database_name must be in single-user mode.

    • repair_allow_data_loss
      Bulunan hatalar onarmaya çalışır.Bu onarım, bazı veri kaybına neden olabilir.REPAIR_ALLOW_DATA_LOSS onarılması ayırma hataları sağlayan tek seçenektir.

    • repair_fast
      Sözdizimi yalnızca geriye dönük uyumluluk için korunur.Hiçbir onarım eylemler gerçekleştirilir.

    • repair_rebuild
      Uygulanamaz.

    Important noteImportant Note:

    ONARıM seçenekleri yalnızca son çare olarak kullanın.Hataları onarmak için , bir yedekten geri yüklenmesi önerilir.Onarım işlemleri herhangi biri bulunabilir kısıtlamaları üzerinde veya tablolar arasında düşünün değil.Belirtilen tablo içinde bir veya daha fazla kısıtlamayı söz konusu ise, DBCC CHECKCONSTRAINTS bir onarım işleminden sonra çalışan öneririz.REPAIR kullanmanız gerekiyorsa, DBCC CHECKDB kullanmak için onarım düzey bulmak için onarım seçeneği olmadan çalıştırın.REPAIR_ALLOW_DATA_LOSS düzey kullanırsanız, bu seçenekle DBCC CHECKDB çalıştırmadan önce veritabanını yedeklemeniz önerilir.

  • With
    Seçeneklerin belirtilmesine olanak sağlar.

  • all_errormsgs
    Tüm hata iletilerini görüntüler.Içinde SQL Server 2008 hizmet Pack 1 (SP1), tüm hata iletileri varsayılan olarak görüntülenir. Belirterek veya bu seçenek kullanılmazsa, hiçbir etkisi olmaz.' Ün önceki sürümlerinde SQL Server (dışında SQL Server 2005 SP3), ALL_ERRORMSGS belirtilmezse, yalnızca her nesne için ilk 200 hata iletileri görüntülenir.

  • no_infomsgs
    Tüm bilgilendirici iletileri ve raporda kullanılan alanı kaldırır.

  • tablock
    Bir veritabanını özel kullanım kilit elde etmek DBCC komutunu neden olur.

  • YALNIZCA BİR TAHMİN
    Tahmini miktarını görüntüler.tempdbdiğer seçenekleri belirlendiğinde DBCC CHECKALLOC'u çalıştırmak için gerekli olan alan.

Remarks

DBCC CHECKALLOC'u sayfa türünü veya ait oldukları nesne türü ne olursa olsun, veritabanındaki tüm sayfaları ayrılması denetler.Bu sayfalar ve aralarındaki ilişkileri izlemek için kullanılan çeşitli dahili yapıları da geçerliliğini denetler.

NO_INFOMSGS belirtilmezse, DBCC CHECKALLOC veritabanındaki tüm nesneler için alan kullanım bilgilerini toplar.Bu bilgiler daha sonra bulunan herhangi bir hata ile birlikte yazdırılır.

Not

The DBCC CHECKALLOC'u işlevselliği de dahilDBCC CHECKDB ve DBCC CHECKFILEGROUP . Bu, DBCC CHECKALLOC Bu ifadeler ayrı olarak çalıştırmak gerekmediği anlamına gelir.

Not

DBCC CHECKALLOC'u FILESTREAM verilerini denetlemez.FILESTREAM ikili büyük nesneleri (BLOBS) dosya sisteminde depolanır.

Iç veritabanı anlık görüntü görüntü görüntü görüntüsü görüntüsü

DBCC CHECKALLOC, bu denetimleri gerçekleştirmek için gereken işlem tutarlılığı sağlamak için bir iç veritabanı anlık görüntü görüntü görüntü görüntüsü görüntüyü kullanır.anlık görüntü görüntü oluşturulamaz veya TABLOCK belirtilen gerekli tutarlılık elde etmek için veritabanı üzerinde bir özel (X) kilit almak DBCC CHECKALLOC'u çalışır.Kilitlerin hakkında daha fazla bilgi için bkz: Kilit modu.

Not

InSQL Server 2005ve daha sonra DBCC CHECKALLOC'u karşıtempdbolmayan gerçekleştirmek tüm denetler.Performansı düşürmemek için veritabanı anlık görüntüleri üzerinde kullanılamaz, bunun nedeni tempdb. Bu işlem gerekli tutarlılığını alınamıyor anlamına gelir.Stop ve start MSSQLSERVER hizmetini herhangi gidermek içintempdbayırma sorun.Bu eylem engeller ve yeniden oluştururtempdbveritabanı.

DBCC hata iletileri'ni anlama

DBCC sonra CHECKALLOC'u komut tamamlandıktan, bir ileti yazılırSQL Serverhata günlüğüDBCC komutu başarıyla yürütür, iletiyi başarılı bir tamamlama ve miktarını gösterir saat komutu çalışan.Denetim bir hata nedeniyle tamamlamadan önce DBCC komutunu durdurur, iletinin durumu değeri ve miktarı çalıştırdığında, komut komut sonlandırıldı gösterir.Aşağıdaki tablo listeler ve iletide bulunan durum değerleri açıklanmaktadır.

STATE

Açıklama

0

Hata numarası 8930 geçirilen.Bu, DBCC komut sona erdirmek neden bir meta veriler bozulması gösterir.

1

Hata numarası 8967 geçirilen.DBCC iç hata oluştu.

2

Acil Durum modu veritabanı onarım sırasında bir BIR hata oluştu.

3

Bu, DBCC komut sona erdirmek neden bir meta veriler bozulması gösterir.

4

Assert veya erişim ihlali algılandı.

5

DBCC komut sonlandırıldı bilinmeyen bir hata oluştu.

Hata Raporlama

Mini-döküm dosyası (SQLDUMP nnnn .txt) oluşturulan SQL ServerGünlük dizini her DBCC CHECKALLOC'u algılar bir bozulma hatası.Özellik kullanımı veri koleksiyon ve hata raporlama özellikleri örnek için etkinleştirildiğinde SQL Server, dosya otomatik olarak iletilir Microsoft. Toplanan veriler artırmak için kullanılır SQL Server işlevi.

Döküm dosyasını DBCC CHECKALLOC komutu ve ek tanılama çıkış sonuçlarını içerir.Dosya, isteğe bağlı erişim denetimi listelerinde (DACL) kısıtladı.Erişimi sınırlıdır SQL Server hesabı ve üyeleri hizmet sysadmin Rol. Varsayılan olarak, sysadmin Rol, Windows BUILTIN\Administrators grubu ve yerel yönetici grubunun tüm üyelerinin içerir. Veri koleksiyon işlemi başarısız olursa DBCC komutu başarısız değil.

Hataları giderme

DBCC CHECKALLOC'u herhangi bir hata bildirirse, onarım çalıştırmak yerine veritabanının yedek veritabanını geri yükleme öneririz.Yedek yoksa, onarım çalışan bildirilen hataları düzeltebilir; ancak hataları düzeltme bazı sayfaları ve bu nedenle veriler silinecek gerektirebilir.

Bir kullanıcı hareketine onarım gerçekleştirilebilir.Bu değişikliklerin geri alınması için izin verir.Değişiklikleri geri alınır, veritabanı hata yer alır ve bir yedek kopyadan geri yüklenmesi gerekir.Onarım işlemini tamamladıktan sonra veritabanını yedekleyin.

Sonuç Kümeleri

Aşağıdaki tabloda DBCC CHECKALLOC'u veren bilgiler açıklanmaktadır.

Öğe

Açıklama

FirstIAM

Yalnızca iç kullanım.

Kök

Yalnızca iç kullanım.

Dpages

Veri sayfa sayısı.

Kullanılan sayfaları

Ayrılmış sayfa.

Özel alanları

Nesneye ayrılmış alanları.

Karma ayırma sayfaları kullandıysanız, sayfaları alanları ayrılmış olabilir.

DBCC CHECKALLOC'u her dizin ve her dosya bölümünde Özet tahsisat de bildirir.Bu Özet verileri dağıtımını açıklar.

Öğe

Açıklama

Ayrılmış sayfa

Dizin ve ayrılmış alanları kullanılmayan sayfaları için sayfa.

Kullanılan sayfaları

Tahsis edilen sayfaları ve dizin tarafından kullanılıyor.

Bölüm Kimliği

Yalnızca iç kullanım.

Birim kimliği tahsis

Yalnızca iç kullanım.

Satır verileri

Sayfalar, dizini veya yığın veri içeriyor.

LOB veri

Sayfalar içerirvarchar(max),nvarchar(max),varbinary(max),text,ntext,xml, andimageveri.

Verileri satır-taşma

Satır kapalı itilmiş sütun değişken uzunlukta veri sayfaları içerir.

DBCC CHECKALLOC'u aşağıdaki sonucu verir küme (değerleri değişebilir), ESTIMATEONLY veya NO_INFOMSGS, belirtilen dışında.

DBCC results for 'master'.

************************************************************* Table sysobjects Object ID 1. Index ID 1 FirstIAM (1:11) Root (1:12) Dpages 22. Index ID 1. 24 pages used in 5 dedicated extents. Index ID 2 FirstIAM (1:1368) Root (1:1362) Dpages 10. Index ID 2. 12 pages used in 2 dedicated extents. Index ID 3 FirstIAM (1:1392) Root (1:1408) Dpages 4. Index ID 3. 6 pages used in 0 dedicated extents. Total number of extents is 7. ************************************************************* '...' ************************************************************* Table spt_server_info Object ID 1938105945. Index ID 1 FirstIAM (1:520) Root (1:508) Dpages 1. Index ID 1. 3 pages used in 0 dedicated extents. Total number of extents is 0. ************************************************************* Processed 52 entries in sysindexes for database ID 1. File 1. Number of extents = 210, used pages = 1126, reserved pages = 1280. File 1 (number of mixed extents = 73, mixed pages = 184). Object ID 1, Index ID 0, data extents 5, pages 24, mixed extent pages 9. '...' Object ID 1938105945, Index ID 0, data extents 0, pages 3, mixed extent pages 3. Total number of extents = 210, used pages = 1126, reserved pages = 1280 in this database. (number of mixed extents = 73, mixed pages = 184) in this database. CHECKALLOC found 0 allocation errors and 0 consistency errors in database 'master'. DBCC results for 'master'. ************************************************************* Table sys.sysrowsetcolumns Object ID 4. Index ID 1, partition ID 262144, alloc unit ID 262144 (type In-row data). FirstIAM (1:98). Root (1:94). Dpages 7. Index ID 1, partition ID 262144, alloc unit ID 262144 (type In-row data). 9 pages used in 1 dedicated extents. Index ID 1, partition ID 262144, alloc unit ID 262398 (type Row-overflow data). FirstIAM (0:0). Root (0:0). Dpages 0. Index ID 1, partition ID 262144, alloc unit ID 262398 (type Row-overflow data). 0 pages used in 0 dedicated extents. Total number of extents is 1. ... ************************************************************* Processed 201 entries in system catalog for database ID 1. File 1. Number of extents = 44, used pages = 300, reserved pages = 345. File 1 (number of mixed extents = 29, mixed pages = 225). Object ID 4, index ID 1, partition ID 262144, alloc unit ID 262144 (type In-row data), data extents 1, pages 9, mixed extent pages 8. Object ID 5, index ID 1, partition ID 327680, alloc unit ID 327680 (type In-row data), data extents 0, pages 2, mixed extent pages 2. Object ID 7, index ID 1, partition ID 458752, alloc unit ID 458752 (type In-row data), data extents 0, pages 5, mixed extent pages 5. Object ID 8, index ID 0, partition ID 524288, alloc unit ID 524288 (type In-row data), data extents 0, pages 2, mixed extent pages 2. Object ID 13, index ID 1, partition ID 851968, alloc unit ID 851968 (type In-row data), data extents 1, pages 9, mixed extent pages 8. Object ID 15, index ID 1, partition ID 983040, alloc unit ID 983040 (type In-row data), data extents 0, pages 2, mixed extent pages 2. Object ID 26, index ID 1, partition ID 281474978414592, alloc unit ID 1703937 (type In-row data), data extents 0, pages 3, mixed extent pages 3. Object ID 27, index ID 1, partition ID 281474978480128, alloc unit ID 1769473 (type In-row data), data extents 0, pages 3, mixed extent pages 3. Object ID 27, index ID 2, partition ID 562949955190784, alloc unit ID 1769474 (type In-row data), index extents 0, pages 3, mixed extent pages 3. ... Object ID 1179151246, index ID 1, partition ID 72057594038845440, alloc unit ID 13435136 (type In-row data), data extents 2, pages 18, mixed extent pages 8. Object ID 1179151246, index ID 2, partition ID 72057594038910976, alloc unit ID 13566208 (type In-row data), index extents 1, pages 16, mixed extent pages 8. Object ID 1911677858, index ID 0, partition ID 72057594039631872, alloc unit ID 15073536 (type In-row data), data extents 0, pages 2, mixed extent pages 2. Total number of extents = 41, used pages = 289, reserved pages = 323 in this database. (number of mixed extents = 27, mixed pages = 211) in this database. CHECKALLOC found 0 allocation errors and 0 consistency errors in database 'master'. DBCC execution completed. If DBCC printed error messages, contact your system administrator.

ESTIMATEONLY belirtildiğinde, DBCC CHECKALLOC'u aşağıdaki sonuç kümesi verir.

Estimated TEMPDB space needed for CHECKALLOC (KB) 
------------------------------------------------- 
34

(1 row(s) affected)

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

İzinler

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

Örnekler

Aşağıdaki örnek yürütür. DBCC CHECKALLOC ve geçerli veritabanı için AdventureWorks Veritabanı.

Değişiklik Geçmişi

Güncelleştirilmiş içerik

Yeni işlevler ALL_ERRORMSGS tanımında açıklanan SQL Server 2008 SP1.