Aracılığıyla paylaş


dbcc CHECKFILEGROUP (Transact-sql)

Ayırma ve tüm tablo ve dizin oluşturulmuş görünümler belirtilen filegroup geçerli veritabanı yapısal bütünlüğünü denetler.

Konu bağlantısı simgesi Transact-SQL Sözdizim 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
    Hangi tablo ayırma ve yapısal bütünlüğünü kontrol etmek için geçerli veritabanındaki filegroup adıdır. Belirtilmezse veya 0 belirtilirse, varsayılan birincil filegroup olur. Dosya grubu adları gerekir uymak için kuralları ile tanımlayıcıları.

    filegroup_nameFILESTREAM filegroup olamaz.

  • filegroup_id
    Hangi tablo ayırma ve yapısal bütünlüğünü kontrol etmek için geçerli veritabanındaki filegroup tanımlaması (ID) sayısıdır.

  • NOINDEX
    Kullanıcı tablolarının kümelenmemiş dizinlerinin yoğun denetimlerinin yapılmaması gerektiğini belirtir. Bu, genel çalıştırma süresini kısaltır. NOINDEX, sistem tabloları etkilemez, çünkü her zaman tüm sistem tablosu dizinler dbcc CHECKFILEGROUP denetler.

  • ALL_ERRORMSGS
    Sınırsız sayıda nesne başına hataları 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 iletilerini kapatır.

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

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

  • PHYSICAL_ONLY
    Sayfa, kayıt üstbilgi ve b-ağaçlar fiziksel yapısını fiziksel yapısının bütünlüğünü kontrol sınırlar. Küçük havai denetleme ve filegroup fiziksel tutarlılığını sağlamak için tasarlanmış, bozuk sayfalar ve verilerini tehlikeye ortak donanım hataları da bu onay algılayabilir. dbcc CHECKFILEGROUP tam bir çalışması önceki sürümlerinde çok daha uzun sürebilir. Bu davranış, aşağıdaki nedenlerle oluşur:

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

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

    • Bu yeni özellikleri dahil etmek için pek çok yeni denetim konmuştur.

    Bu nedenle PHYSICAL_ONLY seçeneğini kullanarak bir çok kısa çalıştırma dbcc CHECKFILEGROUP için büyük filegroups üzerinde neden olabilir ve bu nedenle üretim sistemlerinde sık kullanım için önerilir. Yine de tam bir dbcc CHECKFILEGROUP çalıştırmak belirli aralıklarla yapılması önerilir. Bu çalıştırmaların sıklığı ayrı ayrı iş ve üretim ortamlarına özgü etmenlere bağlıdır. PHYSICAL_ONLY her zaman NO_INFOMSGS komutunu gerektirir ve onarım seçeneklerinden herhangi biriyle kullanılamaz.

    [!NOT]

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

Açıklamalar

dbcc CHECKFILEGROUP ve dbcc checkdb benzer dbcc komutları vardır. Ana fark dbcc CHECKFILEGROUP tek belirtilen filegroup ve gerekli tabloları sınırlı olmasıdır.

Aşağıdaki komutları dbcc CHECKFILEGROUP gerçekleştirir:

dbcc checkalloc veya dbcc checktable dbcc CHECKFILEGROUP ayrı ayrı çalışan gerekli değildir.

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

dbcc CHECKFILEGROUP 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. Daha fazla bilgi için Veritabanı Snapshot (Transact-sql) seyrek dosya boyutunu görüntülemekve "dbcc iç veritabanı anlık kullanım" bölüm içinde DBCC (Transact-sql).

Anlık oluşturulamaz veya tablock seçeneği belirtilirse, dbcc CHECKFILEGROUP gerekli tutarlılık elde etmek için kilitleri kapsar. Bu durumda yer ayırma denetimleri gerçekleştirmek için bir özel kullanım veritabanı kilidi ve tablo denetimleri gerçekleştirmek için paylaşılan tablo kilitleri gerekir. tablock koşmak bağlamamak ağır yük altında veritabanı dbcc CHECKFILEGROUP neden olur, ancak dbcc CHECKFILEGROUP çalışırken kullanılabilir veritabanı eşzamanlılık azaltır.

[!NOT]

dbcc CHECKFILEGROUP karşı çalışan tempdbherhangi bir ayırma denetim gerçekleştirmez ve tablo denetimleri gerçekleştirmek için paylaşılan tablo kilitleri almalıdır. Bunun nedeni, performans gerekçeleriyle tempdb veritabanı anlık görüntülerinin olmamasıdır. Bu, gerekli işlem tutarlılığının sağlanamayacağı anlamına gelir.

Paralel Olarak Nesne Denetleme

Varsayılan olarak, paralel nesneleri denetleme dbcc CHECKFILEGROUP gerçekleştirir. Paralellik derecesi, sorgu işleyici tarafından otomatik olarak belirlenir. Paralelliğin en yüksek derecesi, aynı paralel sorgular gibi yapılandırılır. DBCC denetimi için kullanılabilen en yüksek işlemci sayısını kısıtlamak için sp_configure komutunu kullanın. Daha fazla bilgi için, bkz. Maksimum ölçüde parallelism sunucu yapılandırma seçeneği yapılandırmak.

Paralel denetleme ayrıca izleme bayrağı 2528 kullanılarak da devre dışı bırakılabilir. Daha fazla bilgi için, bkz. İzleme Bayrakları (Transact-SQL).

Ayrı Filegroups üzerinde kümelendirilmemiş dizinler

Temel tablo için doğrulama kullanılabilir olmadığından belirtilen filegroup kümelendirilmemiş dizin başka bir filegroup bir tabloyla ilişkiliyse, dizin değil denetlenir. Bu davranış değişikliği olduğunu SQL Server 2005. Önceki sürümlerinde SQL Server, kümelendirilmemiş dizin ve tablo filegroup denetlenir. Kümelendirilmemiş dizinler ve temel tabloları denetlemek için çalıştırın dbcc checkdb.

Belirtilen filegroup tablo başka bir filegroup kümelendirilmemiş dizin varsa, kümelendirilmemiş dizin aşağıdakilerden biri nedeniyle denetlenir değil:

  • Temel tablo yapısını kümelendirilmemiş dizin yapısı üzerinde bağımlı değildir. Kümelendirilmemiş dizinler temel tablo doğrulamak için taranması gerekmez.

  • dbcc CHECKFILEGROUP komutu, yalnızca belirtilen filegroup nesneleri doğrular.

Kümelenmiş bir dizin ve tablo farklı filegroups üzerinde olamaz; Bu nedenle, önceki konuları yalnızca kümelendirilmemiş dizinler için geçerli.

Bölümlenmiş tablolar ayrı Filegroups

Sürümlerinde SQL Server 2005Service Pack 2 (SP2)'den önceki tüm tablo üzerinde belirtilen filegroup ise bölümlenmiş bir tablo dbcc CHECKFILEGROUP denetler. Tablonun birden çok filegroups üzerinde yayılır, tablonun tamamını yoksayılır. Bölümlenmiş bir tablo birden çok filegroups üzerinde olmadığında, SP2 ve üstü, dbcc CHECKFILEGROUP belirtilen filegroup üzerinde bulunması ve satır kümeleri içinde diğer filegroups yoksayar bölümü satır kümeleri denetler. Bilgilendirme iletisi 2594 değil denetlendiğini bölümleri gösterir. Kümelendirilmemiş dizinler üzerinde belirtilen filegroup değil ikamet denetlenir.

DBCC Hata İletilerini Anlama

dbcc CHECKFILEGROUP 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 CHECKFILEGROUP 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 CHECKFILEGROUP 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 SQL Server hizmet hesabı ve sysadmin rolü ile sınırlıdır. 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 CHECKFILEGROUP tarafından bildirilen hatalar, veritabanı veritabanını yedekten geri yükleme öneririz. Not onarım seçenekleri için dbcc CHECKFILEGROUP belirtilemez.

Yedeğiniz varsa, belirtilen bir onarma seçeneği ile dbcc checkdb çalışan bildirilen hataları düzeltir. Onarım seçeneği listenin sonunda bildirilen hata varsa belirtilir. REPAIR_ALLOW_DATA_LOSS seçeneğini kullanarak hataları düzeltmek, bazı sayfaları ve bu nedenle veri silinmesi gerekebilir.

Sonuç Kümeleri

dbcc CHECKFILEGROUP (değerleri değişebilir) aşağıdaki sonuç kümesi döndürür:

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

  • Geçerli veritabanı için veritabanı belirtilirse, olsun veya olmasın tüm 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.

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 execution completed. If DBCC printed error messages, contact your system administrator.

dbcc CHECKFILEGROUP ESTIMATEONLY belirtilmezse verir (değerleri farklı olabilir):

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.

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

sysadmin sabit sunucu rolüne veya db_owner sabit veritabanı rolüne üye olmayı gerektirir.

Örnekler

A.C.PRIMARY filegroup AdventureWorks veritabanındaki denetleme

Aşağıdaki örnek denetimleri AdventureWorksbirincil filegroup veritabanı.

USE AdventureWorks2012;
GO
DBCC CHECKFILEGROUP;
GO

B.AdventureWorks birincil filegroup kümelendirilmemiş dizinler olmadan denetleme

Aşağıdaki örnek denetimleri AdventureWorks belirterek, birincil filegroup ve kimlik numarasını belirterek (kümelendirilmemiş dizinler hariç) veritabanı birincil filegroup NOINDEX.

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

C.C.PRIMARY filegroup seçenekleri ile denetleme

Aşağıdaki örnek denetimleri masterbirincil filegroup veritabanı ve seçenek belirtir ESTIMATEONLY.

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

Ayrıca bkz.

Başvuru

DBCC (Transact-sql)

Filegroup_iddata_space_idsys.Filegroups (Transact-sql)

sp_helpfile (Transact-sql)

sp_helpfilegroup (Transact-sql)

sys.sysfilegroups (Transact-sql)

DBCC CHECKDB (Transact-SQL)

dbcc checkalloc (Transact-sql)

dbcc checktable (Transact-sql)