Belirtiler
Aşağıdaki senaryoyu ele alalım:
- Birden çok dosya grubu içeren bir Microsoft SQL ServerSQL Server 2012 veya daha önceki sürüm veritabanınız var ve ikincil dosya grubu varsayılan dosya grubu.
- Veritabanını yedeklersiniz ve sonra geri yüklersiniz SQL ServerSQL Server 2014.
- Birincil dosya grubunu varsayılan dosya grubu olarak ayarladıktan sonra ikincil dosya grubunu kaldırmayı deneyin.
Bu senaryoda, ikincil dosya grubunun altındaki tüm veri dosyaları silinmiş olsa bile bu grubu silemezsiniz. Hata iletisi, ikincil dosya grubunun boş olmadığı için kaldırılamadığını gösterir.
Neden
Sorun, veritabanı sürümü yükseltmesinin SQL ServerSQL Server 2014'teki birincil dosya grubu yerine varsayılan dosya grubunda sistem nesneleri oluşturması nedeniyle oluşur. İkincil dosya grubu hala bazı sistem nesneleri içerir.
Çözüm
Bu düzeltme, sistem tablolarını birincil dosya grubuna taşımak için izleme bayrağı 3861'i sunar.
Bu makalede açıklanan düzeltmeyi uyguladıktan sonra, başlangıç parametresi olarak izleme bayrağı 3861'i kullanarak SQL ServerSQL Server'ı başlattığınızda, sistem tablolarını birincil dosya grubuna taşıyabilir.
Veritabanı yedeğini henüz geri yüklemediyseniz, izleme bayrağını sunucu düzeyinde etkinleştirebilirsiniz:
dbcc traceon(3861,-1)
<Restore the database>
dbcc traceoff(3861,-1)
Sorun ilk olarak aşağıdaki toplu SQL Server güncelleştirmesinde düzeltilmiştir.
SQL Server 2014 için Toplu Güncelleştirme 4 /en-us/help/2999197
SQL Server toplu güncelleştirmeleri hakkında
SQL Server için her yeni toplu güncelleştirme, önceki toplu güncelleştirmeye dahil edilen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. SQL Server için en son toplu güncelleştirmelere göz atın:
Durum
Microsoft bunun, "Şunlar için geçerlidir" bölümünde listelenen Microsoft ürünlerinde sorun olduğunu doğrulamıştır.