Aracılığıyla paylaş


dbcc CHECKFILEGROUP (Transact-SQL)

Ayırma ve tüm tabloları ve geçerli veritabanında belirtilen dosya grubu içinde dizin oluşturulmuş görünümler, yapısal bütünlük denetler.

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

Sözdizimi

DBCC CHECKFILEGROUP 
[
    [ ( { filegroup_name | filegroup_id | 0 } 
        [ , NOINDEX ] 
  ) ]
    [ WITH 
        { 
            [ ALL_ERRORMSGS | NO_INFOMSGS ] 
            [ , TABLOCK ] 
            [ , ESTIMATEONLY ]
            [ , PHYSICAL_ONLY ]  
        } 
    ]
]

Bağımsız değişkenler

  • filegroup_name
    tablo ayırma ve yapısal bütünlükdenetlemek üzere geçerli veritabanındaki dosya grubu adıdır.Belirtilmezse veya 0 belirtilirse, birincil dosya grubuvarsayılandır.Dosya grubu adları gerekir kuralları ile uyumlu tanımlayıcıları.

    filegroup_nameFILESTREAM dosya grubuolamaz.

  • filegroup_id
    dosya grubu tanımlaması (ID) tablo ayırma ve yapısal bütünlükdenetlemek üzere geçerli veritabanında sayıdır.

  • NOINDEX
    Yoğun denetimleri kullanıcı tablolar için kümelenmemiş dizinleri değil gerçekleştirilmesi gerektiğini belirtir.Bu genel yürütme saatazaltır.dbcc CHECKFILEGROUP her zaman tüm sistem tablosu dizinleri çünkü NOINDEX sistem tabloları etkilemez.

  • ALL_ERRORMSGS
    Sınırsız sayıda nesne başına hataları 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
    Bilgi tüm iletileri bastırır.

  • TABLOCK
    Bir iç veritabanı anlık görüntüsükullanmak yerine kilitleri edinmek dbcc CHECKFILEGROUP neden olur.

  • ESTIMATEONLY
    Tahmini miktarını görüntüler tempdb gereken alanı çalıştırma dbcc CHECKFILEGROUP tüm diğer belirtilen seçenekleri.

  • PHYSICAL_ONLY
    bütünlük sayfa, kayıt üstbilgileri ve b ağaçları fiziksel yapısını fiziksel yapısı için denetimi sınırlar.dosya grubufiziksel tutarlılığını küçük genel gider kontrol sağlamak için tasarlanan bu onay olabilir de sayfaları ve veri tehlikeye ortak donanım arızaları parçalanmış algılamak .dbcc CHECKFILEGROUP, tam bir çalışma daha önceki sürümlerinde oldukça uzun sürebilir.Bu davranış aşağıdaki nedenlerden biriyle oluşur:

    • Mantıksal denetimleri daha kapsamlıdır.

    • Denetlenecek yapıların bazıları daha karmaşıktır.

    • Birçok yeni denetimler, yeni özellikler eklemek için sunulmuştur.

    Bu nedenle PHYSICAL_ONLY seçeneğini kullanarak daha çok kısa bir çalışma -saat üzerinde büyük filegroups için dbcc CHECKFILEGROUP neden olabilir ve bu nedenle üretim sistemlerinde sık kullanım için önerilir.Yine de dbcc CHECKFILEGROUP, tam bir çalışma düzenli olarak yapılması önerilir.Bu metinler sıklığını bireysel işletmeler ve üretim ortamları için özel etkenler bağlıdır.PHYSICAL_ONLY her zaman NO_INFOMSGS anlamına gelir ve onarım seçenekleri herhangi biri izin verilmez.

    Not

    PHYSICAL_ONLY tüm atlamak dbcc CHECKFILEGROUP neden belirtilmesi FILESTREAM verileri denetler.

Açıklamalar

dbcc CHECKFILEGROUP ve dbcc checkdb benzer dbcc komutlardır.Ana fark dbcc CHECKFILEGROUP tek belirtilen dosya grubu ve gerekli tabloları sınırlı olmasıdır.

dbcc CHECKFILEGROUP aşağıdakileri gerçekleştirir:

dbcc CHECKALLOC'u veya dbcc checktable dbcc CHECKFILEGROUP ' ayrı olarak çalışan gerekli değildir.

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

dbcc CHECKFILEGROUP, bu denetimleri gerçekleştirmek için gereken işlem tutarlılığı sağlamak için bir iç veritabanı anlık görüntüsü kullanır.Daha fazla bilgi için Seyrek dosya boyutları veritabanı anlık içinde anlama ve "dbcc iç veritabanı anlık görüntü kullanımı" bulunan bölümünde dbcc (Transact-SQL).

Bir anlık görüntü oluşturulan ya da tablock seçeneği belirtilen dbcc CHECKFILEGROUP gerekli tutarlılık elde etmek için kilitleri kapsar.Bu durumözel veritabanı kilit ayırma denetimleri gerçekleştirmek için gereklidir ve paylaşılan tablo kilitleri tablo denetimleri gerçekleştirmek için gereklidir.tablock veritabanı ağır yükü altında daha hızlı çalıştırmak dbcc CHECKFILEGROUP neden olur, ancak dbcc CHECKFILEGROUP çalışırken eşzamanlılık veritabanında kullanılabilir azaltır.

Not

dbcc CHECKFILEGROUP karşı çalışan tempdb her ayırma denetim yapmaz ve almak gerekir paylaşılan tablo kilitleri gerçekleştirilecek tablo denetler.Bu, performansla ilgili nedenlerden dolayı veritabanı anlık üzerinde kullanılamaz çünkü tempdb.Yani, gerekli işlem tutarlılığı alınamıyor.

Paralel nesneleri denetleme

Varsayılan olarak, dbcc CHECKFILEGROUP paralel nesnelerin denetimini gerçekleştirir.Paralellik derecesini otomatik olarak sorgu işlemcisi tarafından belirlenir.Maksimum paralellik derecesi hemen Paralel sorgular gibi yapılandırılır.dbcc denetlemek için kullanılabilir işlemci sayısına kısıtlamak için sp_configure.Daha fazla bilgi için, bkz. en büyük ölçüde parallelism seçeneği.

Paralel denetimi izleme bayrağı 2528 kullanarak devreden çıkarılabilir.Daha fazla bilgi için, bkz. İzleme Bayrakları (Transact-SQL).

Ayrı Filegroups üzerinde kümelenmemiş dizinleri

kümelenmemiş dizin belirtilen dosya grubu içinde başka bir dosya grubu tablo ile ilişkili ise, temel tablo geçerlilik doğrulaması için hazır olmadığı için dizin denetlenmez.Bu davranış değişikliği, SQL Server 2005.Önceki sürümlerinde SQL Server, kümelenmemiş dizin ve başka bir dosya grubu temel tablo denetlenir.Kümelenmemiş dizinleri ve temel tablolar denetlemek için çalışan dbcc checkdb.

Belirtilen dosya grubu tablo başka bir dosya grubu kümelenmemiş dizin varsa, kümelenmemiş dizin aşağıdakilerden biri nedeniyle işaretli değilse:

  • temel tablo yapısını kümelenmemiş dizinyapısına bağlı değildir.Kümelenmemiş dizinleri temel tablodoğrulamak için taranması gerekmez.

  • dbcc CHECKFILEGROUP komutunu yalnızca belirtilen dosya grubunesneleri doğrular.

kümelenmiş dizin ve tablo üzerinde farklı filegroups olamaz; Bu nedenle, önceki değerlendirmeler sadece kümelenmemiş dizinleri için geçerlidir.

Bölümlenmiş tablolar ayrı Filegroups '

Sürümlerinde SQL Server 2005 Service Pack 2 (SP2)'den önceki tüm tablo üzerinde belirtilen dosya grubuise bölümlenmiş tablo dbcc CHECKFILEGROUP denetler.tablo birden çok filegroups yayılır, tüm tablo yoksayılır.bölümlenmiş tablo birden çok filegroups üzerinde olmadığında, SP2 ve sonraki dbcc CHECKFILEGROUP üzerinde belirtilen dosya grubu var ve diğer filegroups içindeki satır kümeleri yoksayar bölüm satır kümeleri denetler.Bilgilendirme iletisi 2594 işaretli bölümleri gösterir.Kümelenmemiş dizinler üzerinde belirtilen dosya grubu değil yerleşik denetlenmez.

dbcc hata iletileri anlama

dbcc CHECKFILEGROUP komutunu sona erdikten sonra 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 CHECKFILEGROUP algıladığı 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 ek tanılama çıktı ve dbcc CHECKFILEGROUP komutunu 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

dbcc CHECKFILEGROUP tarafından bildirilen hataları, veritabanını veritabanı yedekgeri öneririz.Onarım seçenekleri için dbcc CHECKFILEGROUP belirtilemez unutmayın.

Hiçbir yedek varsa, belirtilen bir onarma seçeneği ile dbcc checkdb çalışan bildirilen hataları düzeltir.Onar seçeneğini kullanmak için hataları raporlanırsa listesinin sonunda belirtilir.REPAIR_ALLOW_DATA_LOSS seçeneğini kullanarak hataları düzeltmek, bazı sayfaları ve bu nedenle veri silinmesi gerektirebilir.

Sonuç Kümeleri

dbcc CHECKFILEGROUP verir aşağıdaki sonuç kümesi (değerleri değişebilir):

  • ESTIMATEONLY veya NO_INFOMSGS belirtildiğinde dışında.

  • Geçerli veritabanı için veritabanı yok belirtilirse, olup olmadığına herhangi seçenekleri (NOINDEX) belirtilir.

DBCC results for 'master'.
DBCC results for 'sys.sysrowsetcolumns'.
There are 630 rows in 7 pages for object 'sys.sysrowsetcolumns'.
DBCC results for 'sys.sysrowsets'.
There are 97 rows in 1 pages for object 'sys.sysrowsets'.
DBCC results for 'sysallocunits'.
There are 195 rows in 3 pages for object 'sysallocunits'.

There are 2340 rows in 16 pages for object 'spt_values'.
DBCC results for 'MSreplication_options'.
There are 2 rows in 1 pages for object 'MSreplication_options'.
CHECKFILEGROUP found 0 allocation errors and 0 consistency errors in database 'master'.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

NO_INFOMSGS belirtilmezse, dbcc CHECKFILEGROUP döndürür:

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

dbcc CHECKFILEGROUP ESTIMATEONLY belirtilmezse verir (değerleri değişebilir):

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

(1 row(s) affected)

Estimated TEMPDB space needed for CHECKTABLES (KB) 
-------------------------------------------------- 
207

(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.Bir veritabanı birincil dosya grubu denetleme

Aşağıdaki örnek çek AdventureWorks2008R2 birincil dosya grubuveritabanı.

USE AdventureWorks2008R2;
GO
DBCC CHECKFILEGROUP;
GO

B.Kümelenmemiş dizinler olmadan birincil dosya grubu denetleme

Aşağıdaki örnek çek AdventureWorks2008R2 veritabanı birincil dosya grubu (kümelenmemiş dizinlerde hariç) birincil dosya grubuve belirterek kimlik numarası belirterek NOINDEX.

USE AdventureWorks2008R2;
GO
DBCC CHECKFILEGROUP (1, NOINDEX);
GO

C.Seçenekleri ile birincil dosya grubu denetleme

Aşağıdaki örnek çek master veritabanı birincil dosya grubu ve seçenek belirtir ESTIMATEONLY.

USE master;
GO
DBCC CHECKFILEGROUP (1)
WITH ESTIMATEONLY;