Aracılığıyla paylaş


dbcc CHECKALLOC'u (Transact-SQL)

Belirtilen veritabanı için disk alanı ayırma yapıları tutarlılığını denetler.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

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 kimliği için ayırma ve sayfa kullanımını denetlemek veritabanının adıdır.Belirtilmezse veya 0 belirtilirse, geçerli veritabanı kullanılır.

    Veritabanı adları için kuralları izleyin gerekir tanımlayıcıları.

  • NOINDEX
    Kullanıcı tablolar için kümelenmemiş dizinleri değil denetlenmesi belirtir.

    Not

    Yalnızca geriye dönük uyumluluk için korunur ve dbcc CHECKALLOC'u etkilemez.

  • REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD
    dbcc CHECKALLOC'u bulunan hataları onarmak belirtir.database_nametek kullanıcı moduolması gerekir.

    • REPAIR_ALLOW_DATA_LOSS
      Bulunan hatalar onarmaya çalışır.Bu onarımlar, bazı veri kaybına neden olabilir.REPAIR_ALLOW_DATA_LOSS onarılması ayırma hataları veren 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.

    Önemli notÖnemli

    ONARIM seçenekleri yalnızca son çare olarak kullanın.Hataları onarmak için bir yedekgeri öneririz.Onarım işlemlerini bulunabilecek kısıtlamalar üzerinde veya tablolar arasında hiçbirini dikkate almaz.Belirtilen tablo bir veya daha fazla kısıtlamalar söz konusu ise, dbcc CHECKCONSTRAINTS Onarım işleminden sonra çalıştıran öneririz.ONARIM kullanmak zorundaysanız, dbcc checkdb kullanmak için onarım düzey bulmak için onarım seçeneği olmadan çalıştırın.Öneririz REPAIR_ALLOW_DATA_LOSS düzeykullanırsanız, o, yedeklemek bu seçeneğiyle dbcc checkdb çalıştırmadan önce veritabanını.

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

  • ALL_ERRORMSGS
    Tüm hata iletileri görüntüler.Tüm hata iletileri varsayılan olarak görüntülenir.Belirleme veya bu seçenek atlama hiçbir etkisi yoktur.

  • NO_INFOMSGS
    Tüm bilgi iletileri ve kullanılan alanı rapor bastırır.

  • TABLOCK
    Özel veritabanı kilitalmak dbcc komutu neden olur.

  • ESTIMATEONLY
    Tahmini miktarını görüntüler tempdb tüm diğer seçenekleri belirtildiğinde dbcc CHECKALLOC'u çalıştırmak için gerekli alanı.

Açıklamalar

dbcc CHECKALLOC'u ayırma veritabanında sayfa türünü veya ait oldukları nesne türü ne olursa olsun, tüm sayfaların denetler.Ayrıca, bu sayfaları ve aralarındaki ilişkileri izlemek için kullanılan çeşitli iç yapıları da doğrular.

dbcc CHECKALLOC'u NO_INFOMSGS belirtilmezse, 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

dbcc CHECKALLOC'u işlevselliği dahil dbcc checkdb ve dbcc checkfilegroup.Başka bir deyişle, dbcc CHECKALLOC'u ayrı ayrı bu ifadeyi çalıştırmak gerekmez.

Not

dbcc CHECKALLOC'u FILESTREAM verilerini denetlemez.FILESTREAM dosya sisteminde ikili büyük nesneleri (BLOB) depolar.

İç Veritabanı anlık görüntü

dbcc CHECKALLOC'u bir iç veritabanı anlık görüntüsü , bu denetimleri gerçekleştirmek için gereken işlem tutarlılığı sağlamak için kullanır.Bir anlık görüntü oluşturulan veya tablock belirtilmiş, dbcc CHECKALLOC'u gerekli tutarlılık elde etmek için veritabanı üzerinde özel (x) kilit almak çalışır.Kilitleri hakkında daha fazla bilgi için bkz: Kilit modları.

Not

İçinde SQL Server 2005 ve daha sonra dbcc CHECKALLOC'u karşı tempdb yapmaz herhangi denetler.Bu, performansla ilgili nedenlerden dolayı veritabanı anlık üzerinde kullanılamaz çünkü tempdb.Yani, gerekli işlem tutarlılığı alınamıyor.Durdurma ve herhangi gidermek için mssqlserver hizmet başlatma tempdb ayırma sorunları.Bu eylem düşünceye ve yeniden oluşturur tempdb veritabanı.

dbcc hata iletileri anlama

dbcc CHECKALLOC'u komut tamamlandıktan sonra bir ileti yazılır SQL Server hata günlüğü.dbcc komutu başarıyla yürütür, iletiyi başarılı tamamlama ve komutu çalıştırılmadan saat gösterir.dbcc komut bir hata nedeniyle onay tamamlamadan önce durursa, komut sonlandırıldı, durumu değeri ve saat komutu çalıştırılmadan iletisi gösterir.Aşağıdaki tablo , listeler ve iletiye dahil durum değerleri açıklanmaktadır.

Durumu

Açıklama

0

Hata numarası 8930 Sürüldü.Bu dbcc komut sonlandırmak neden bir meta veriler Bozulması gösterir.

1

Hata numarası 8967 Sürüldü.İç dbcc hata oluştu.

2

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

3

Bu dbcc komut sonlandırmak 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 bildirimi

Bir minidöküm dosyası (sqldumpnnnn.txt) oluşturulur SQL Server Günlük dizini olduğunda dbcc CHECKALLOC'u algılar bir bozulma hatası.Özellik kullanımı veri koleksiyon ve hata raporlama özellikleri etkinleştirildiğinde örnek için SQL Server, dosya için iletilen otomatik olarak Microsoft.Toplanan verileri geliştirmek için kullanılan SQL Server işlevi.

döküm dosyasını sonuçlar dbcc CHECKALLOC'u komutu ve ek tanılama çıktı içerir.Dosya isteğe bağlı erişim denetim listeleri (DACL) kısıtladı.Sınırlı erişim SQL Server hizmet hesabı ve üyeleri sysadmin rolü.Varsayılan olarak, sysadmin rolü içeren tüm Windows BUILTIN\Administrators grubunun üyeleri ve yerel Yöneticiler grubu.Veri koleksiyon işlemi başarısız olduğunda dbcc komutu başarısız olmaz.

Hataları çözme

Öneririz dbcc CHECKALLOC'u hataları rapor eder ise, bu geri yükleme onarım çalıştırmak yerine veritabanının yedek veritabanından.Bir yedek yoksa, onarım çalışan bildirilen hataları düzeltebilir; Ancak, hatalarını düzeltme bazı sayfaları ve bu nedenle silinecek veri gerektirebilir.

Onarım kullanıcı hareketi içinde gerçekleştirilebilir.Bu değişikliklerin geri alınmasını sağlar.Değişiklikler geri alınır, veritabanı hataları yer alır ve bir yedekgeri yüklenmesi gerekir.Onarımları bitirdikten sonra yedeklemek veritabanı.

Sonuç Kümeleri

Aşağıdaki tabloda dbcc CHECKALLOC'u döndüren bilgiyi tam olarak açıklıyor.

Öğ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.

Ayrılmış kapsamlarını

Nesne için ayrılan kapsamlarını.

Karma ayırma sayfaları kullandıysanız, kapsamlarını tahsis sayfaları olabilir.

dbcc CHECKALLOC'u Özet her dizin ve her dosyadaki bölümü için bir tahsisat da bildirir.Bu özet veri dağıtım açıklar.

Öğe

Açıklama

Ayrılmış sayfaları

Dizin ve ayrılmış kapsamlarını kullanılmayan sayfaları tahsis sayfaları.

Kullanılan sayfaları

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

Bölüm Kimliği

Yalnızca iç kullanım.

Ayırma birimi kimliği

Yalnızca iç kullanım.

Satır veri

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

lob veri

Pages contain varchar(max), nvarchar(max), varbinary(max), text, ntext, xml, and image data.

Satır taşma veri

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

dbcc CHECKALLOC'u verir aşağıdaki sonuç kümesi (değerleri değişebilir), ne zaman 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ümesidöndürür.

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 gerektiren sysadmin sabit sunucu rolü veya db_owner veritabanı rolüsabit.

Örnekler

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

-- Check the current database.
DBCC CHECKALLOC;
GO
-- Check the AdventureWorks2008R2 database.
DBCC CHECKALLOC (AdventureWorks2008R2);
GO