dbcc checkalloc (Transact-sql)

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

Konu bağlantısı simgesi Transact-SQL Sözdizim 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
    Adı veya kimliği veritabanı ayırma ve sayfa kullanımı kontrol etmek için değil. Belirtilmezse veya 0 belirtilirse, geçerli veritabanı kullanılır.

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

  • NOINDEX
    Kümelendirilmemiş dizinler için kullanıcı tabloları değil denetlenmesi gerektiğini belirtir.

    [!NOT]

    NOINDEX yalnızca geriye dönük uyumluluk için korunur ve dbcc checkalloc etkilemez.

  • REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD
    dbcc checkalloc bulunan hataları onarmak belirtir. database_nametek kullanıcı modunda olması gerekir.

    • REPAIR_ALLOW_DATA_LOSS
      Bulunan hataları onarmak için çalışır. Bu onarımlar bazı verilerin kaybolmasına neden olabilir. REPAIR_ALLOW_DATA_LOSS onarılması ayırma hataları için izin veren tek seçenektir.

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

    • REPAIR_REBUILD
      Uygulanamaz.

    Önemli notÖnemli

    REPAIR seçeneklerini yalnızca son çare olarak kullanın. Hataları onarmak için bir yedekten geri yüklemenizi öneririz. Onarım işlemleri tablolar üzerindeki veya arasındaki kısıtlamaların hiçbirini göz önüne almaz. Belirtilen tablo bir veya daha fazla kısıtlamada kullanılıyorsa, onarım işleminden sonra DBCC CHECKCONSTRAINTS komutunun çalıştırılmasını öneririz. REPAIR'i kullanmak zorundaysanız, kullanılacak onarım düzeyini bulmak için DBCC CHECKDB komutunu bir onarım seçeneği olmadan çalıştırın. REPAIR_ALLOW_DATA_LOSS düzeyini kullanırsanız, DBCC CHECKDB komutunu bu seçenekle çalıştırmadan önce veritabanının bir yedeğini almanızı öneririz.

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

  • ALL_ERRORMSGS
    Tüm hata iletileri görüntüler. Varsayılan olarak tüm hata iletileri gösterilir. Bu seçeneği belirtmenin veya çıkarmanın hiçbir etkisi olmaz.

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

  • TABLOCK
    Özel veritabanı kilit almak için dbcc komutu neden olur.

  • SADECE TAHMİN
    Tahmini miktarını görüntüler tempdbtüm diğer seçenekleri belirtildiğinde dbcc checkalloc çalıştırmak için gereken alanı.

Açıklamalar

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

NO_INFOMSGS belirtilmezse, dbcc checkalloc veritabanındaki tüm nesneler için alan kullanım bilgilerini toplar. Bu bilgiler daha sonra bulunan hataları ile birlikte yazdırılır.

[!NOT]

dbcc checkalloc işlevselliği dahil dbcc checkdb ve dbcc CHECKFILEGROUP. dbcc checkalloc ayrı--dan bu deyimleri çalıştırmak zorunda değilsiniz yani.

[!NOT]

dbcc checkalloc FILESTREAM veri denetlemez. FILESTREAM, dosya sistemi için büyük ikili nesneler (BLOB'lar) depolar.

Dahili Veritabanı Anlık Görüntüsü

dbcc checkalloc, bir iç veritabanı anlık görüntüsünü bu denetimleri gerçekleştirmek için gereken işlem tutarlılığı sağlamak için kullanır. Anlık oluşturulamaz veya tablock belirtilir, dbcc checkalloc veritabanı gerekli tutarlılık elde etmek için bir özel (x) Kilitle dener.

[!NOT]

İçinde SQL Server 2005ve daha sonra çalışan dbcc checkalloc karşı tempdbherhangi bir denetim gerçekleştirmez. Performansı düşürmemek için anlık görüntüleri veritabanı kullanılamaz, bunun nedeni tempdb. Bu, gerekli işlem tutarlılığının sağlanamayacağı anlamına gelir. Herhangi gidermek için mssqlserver hizmetini durdurup başlatın tempdbayırma sorunları. Bu eylem düşer ve yeniden oluşturur tempdbveritabanı.

DBCC Hata İletilerini Anlama

dbcc checkalloc komutu tamamlandığında, bir mesaj yazılan SQL Serverhata \Kütüğü dbcc komut başarıyla yürütür, iletinin başarıyla tamamlanması ve komutu çalıştırdığınız süreyi belirtir. dbcc komut bir hata nedeniyle onay tamamlamadan önce durursa, ileti komutu sona, devlet değeri ve komutu çalıştırdığınız süreyi gösterir. Aşağıdaki tablo iletiye dahil edilebilecek durum değerlerini listelemekte ve açıklamaktadır.

Durum

Açıklama

0

Hata numarası 8930 büyüdü. Bu bir meta veri bozulması sonlandırmak için dbcc komutu neden gösterir.

1

Hata numarası 8967 büyüdü. Dahili bir DBCC hatası vardı.

2

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

3

Bu bir meta veri bozulması sonlandırmak için dbcc komutu neden gösterir.

4

Bir önerme veya erişim ihlali algılandı.

5

DBCC komutunu sonlandıran bilinmeyen bir hata oluştu.

Hata Raporlama

Mini-dump dosya (sqldumpnnnn.txt) oluşturulur SQL Serverdbcc checkalloc yolsuzluk hata algıladığında günlük dizini. Özellik kullanımı veri toplama ve hata raporlama özellikleri etkinleştirildiğinde örneği için SQL Server, dosya otomatik olarak iletilir Microsoft. Toplanan verileri geliştirmek için kullanılan SQL Serverişlevsellik.

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 denetim listeleri (DACL) kısıtladı. Erişim sınırlı SQL Serverhizmet hesabı ve üyeleri sysadminrolü. Varsayılan olarak sysadmin rolü Windows BUILTIN\Administrators grubunun ve yerel yöneticinin grubunun tüm üyelerini içerir. DBCC komutu, veri koleksiyonu işlemi başarısız olursa başarısız olmaz.

Hataları Çözme

dbcc checkalloc herhangi bir hata bildirirse, onarım çalıştırmak yerine veritabanının yedek veritabanını geri öneririz. 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ı hareket içinde gerçekleştirilemez. Bu değişikliklerin geri alınmasını sağlar. Değişiklikler geri alınır, veritabanı hala hatalar içerir ve yedekten geri yüklenmesi gerekir. Onarım bitirdikten sonra veritabanını yedekleyin.

Sonuç Kümeleri

Aşağıdaki tabloda dbcc checkalloc döndürür 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.

Adanmış uzantılar

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

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

dbcc checkalloc Ayrıca tahsisat her dizin ve her dosya bölümünde özet raporlar. 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 sayfaları ve dizin tarafından kullanılıyor.

Bölüm Kimliği

Yalnızca iç kullanım.

Ayırma birimi Kımlığı

Yalnızca iç kullanım.

Satır veri

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

LOB verileri

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

Satır taşma veri

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

dbcc checkalloc ESTIMATEONLY veya NO_INFOMSGS ne zaman belirtilen dışında (değerleri değişebilir) aşağıdaki sonuç kümesi döndürür.

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.

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 aşağıdaki sonuç kümesi dö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.

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 sysadminsabit sunucu rolü veya db_ownerveritabanı rolü.

Örnekler

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

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

Ayrıca bkz.

Başvuru

DBCC (Transact-sql)