Düzeltme: meta veriler tablo bölümleri geçin ve ilgili dosyaları ve dosya gruplarını bırakın sonra tutarsızlık hatası

ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.

Makalenin İngilizcesi aşağıdaki gibidir: 3095958
Belirtiler
Aşağıdaki senaryoyu düşünün:
  • İki bölümlenmiş tablolar Microsoft SQL Server 2014'de vardır ve ilk tablo bölümleri için farklı dosya ve dosya gruplarını aynı bölümleme şeması ve işlevini kullanarak eşlenir.
  • Bu bölümden biri ikinci tabloya geçin ve sonra ikinci tablo kesecek.
  • Dosya ve anahtarlı bölüme eşlenen dosya gruplarını bırakın.
  • İkinci tablo üzerinde SELECT deyimi çalıştırın.
Bu senaryoda, aşağıdaki hata iletisini alırsınız:

İleti 606, 21, düzey 1 durum
Meta veriler tutarsızlık. Dosya grubu kimliğiDosya grubu kimliği> Tablo için belirtilenTablo adı> yok. DBCC CHECKDB veya CHECKCATALOG çalıştırın.

DBCC CHECKDB/CHECKTABLE çalıştırdığınızda, aşağıdaki hata iletisini alırsınız:

Dizini işlenemedi.DizinAdı> tablosuTableName> çünkü filegroup (dosya grubu kimliğiFileGroupNumber>) geçersiz.
Çözüm
Sorun ilk olarak SQL Server'ın aşağıdaki toplu güncelleştirmeleri giderilmiştir: Öneri: SQL Server için en son toplu güncelleştirmeyi yükleyin.
Her yeni bir toplu güncelleştirme SQL Server için tüm düzeltmeleri içerir ve tüm güvenlik, düzeltmelerini önceki toplu güncelleştirme ile birlikte. Karşıdan yükleyin ve SQL Server için en son toplu güncelleştirmeleri yüklemeniz önerilir:


Not: Bu düzeltmeyi yalnızca bu sorunla ileri tarihli oluşumlarını engeller. Bu sorunla karşılaşıyorsanız, verilerinizi varolan tüm meta veri bozulması olmadan yeni bir veritabanına verin. Bunu yapmak için şu adımları izleyin:
  1. Geçersiz bir dosya grubu bir bölüm olup olmadığını belirlemek için bir sonuç döndürüp döndürmediğini görmek için aşağıdaki sorguyu çalıştırın:
    SELECT * FROM sys.allocation_units AS au WHERE au.data_space_id NOT IN (SELECT data_space_id FROM sys.filegroups)
  2. Tablo meta veri bozulması ile görüntülenebilir yeniden oluşturun.

    Bozulmuş meta verisi bölümü 1. adım sorgudan bir sonuç döndürürse, görüntülemesini engelliyor (seçin * gelen) tablosundaki tüm satırları. Bu soruna geçici bir çözüm için hatalı bölümü kaldırın.

    Not
    hatalı bölümü boş olmalıdır. Aksi takdirde, dosya ve dosya grubunu içindeydi bırakılan veya silinmiş değil.

    Bunu yapmak için bu bölüm aynı bölümleme şemasını kullanan başka bir tabloya taşıyın. Bu tablo, kukla bir tablo olabilir. 1. adımda kapsayıcı_kimliği sorgudan kullanın ve sys.partitions gelen bölüm_kimliği ile eşleşen. (Partition_number unutmayın emin olun.) Partition_number kukla tabloya unviewable tablosundan bir ALTER tablo anahtar bölümünü gerçekleştirmek için kullanın. Kukla tablo sütunları kümesi aynı ve aynı bölüm düzenini kullanmanız gerekir. Tutarsız bölümü bulmak için sorgunuzun aşağıdakine benzeyebilir:

    SELECT au.container_id, au.data_space_id, p.partition_number FROM sys.partitions AS p JOIN sys.allocation_units AS au ON p.partition_id = au.container_id LEFT JOIN sys.filegroups AS fgs ON fgs.data_space_id = au.data_space_id WHERE object_id = OBJECT_ID('MyTableName') AND fgs.data_space_id IS NULL;
  3. Yeni veritabanına önceden unviewable tablosundan veri kopyalayabilirler.
Durum
Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 3095958 - Son İnceleme: 04/12/2016 02:10:00 - Düzeltme: 2.0

Microsoft SQL Server 2014 Service Pack 1

  • kbfix kbqfe kbexpertiseadvanced kbsurveynew kbmt KB3095958 KbMttr
Geri bildirim