dbcc CHECKALLOC'u (Transact-SQL)
Belirtilen veritabanı için disk alanı ayırma yapıları tutarlılığını denetler.
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 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
Ayrıca bkz.