Gejala
Pertimbangkan skenario berikut:
-
Anda memiliki Microsoft SQL Server 2012 atau database versi yang lebih lama yang memiliki beberapa grup file, dan filegroup sekunder adalah filegroup default.
-
Anda mencadangkan database, lalu memulihkannya di SQL Server 2014.
-
Anda menyetel filegroup utama sebagai filegroup default, lalu mencoba untuk menghapus filegroup sekunder.
Dalam skenario ini, Anda tidak dapat menghapus filegroup sekunder meskipun semua file data di bawahnya dihapus. Pesan kesalahan memperlihatkan bahwa filegroup sekunder tidak bisa dihapus karena tidak kosong.
Penyebab
Masalah ini terjadi karena pemutakhiran versi database membuat objek sistem pada filegroup default dan bukan filegroup utama di SQL Server 2014. Filegroup sekunder masih berisi beberapa objek sistem.
Pemecahan Masalah
Perbaikan ini memperkenalkan bendera pelacakan 3861 untuk memindahkan tabel sistem ke filegroup utama. Setelah Anda menerapkan perbaikan terbaru yang dijelaskan dalam artikel ini, saat Anda memulai SQL Server dengan menggunakan bendera pelacakan 3861 sebagai parameter permulaan, ini bisa memindahkan tabel sistem ke filegroup utama. Jika Anda belum memulihkan cadangan database, Anda bisa mengaktifkan bendera pelacakan pada tingkat server:
dbcc traceon(3861,-1)<Restore the database>dbcc traceoff(3861,-1)
Masalah ini pertama kali diperbaiki dalam pembaruan kumulatif SQL Server berikut ini.
Pembaruan kumulatif 4 untuk SQL Server 2014 /en-us/help/2999197
Setiap pembaruan kumulatif baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan pembaruan kumulatif sebelumnya. Lihat pembaruan kumulatif terbaru untuk SQL Server:
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".