Bagikan melalui


MSSQLSERVER_5180

Berlaku untuk: SQL Server

Detail

Atribut Nilai
Nama Produk SQL Server
ID Peristiwa 5180
Sumber Kejadian MSSQLSERVER
Komponen SQLEngine
Nama Simbolis DSK_BAD_FCB_FILEID
Teks Pesan Tidak dapat membuka File Control Bank (FCB) untuk ID file %d yang tidak valid di database '%.*ls'. Verifikasi lokasi file. Jalankan DBCC CHECKDB.

Penjelasan

Kueri atau operasi mungkin gagal dengan kesalahan 5180 ketika ID file yang tidak valid dirujuk oleh Mesin Database SQL Server. Ini adalah contoh:

Msg 5180, Tingkat 22, Status 1, Baris 1
Tidak dapat membuka File Control Bank (FCB) untuk ID file %d yang tidak valid di database '%.*ls'. Verifikasi lokasi file. Jalankan DBCC CHECKDB.

Karena kesalahan dimunculkan dengan tingkat keparahan 22, sesi pengguna akan terputus. Pesan kesalahan ini ditulis ke dalam Log Kesalahan SQL Server dan Log Peristiwa Aplikasi Windows dengan EventID = 5180.

Kemungkinan penyebab

Mesin Database SQL Server mereferensikan ID file dalam berbagai situasi sebagian besar saat merujuk ID halaman (karena ID file adalah bagian pertama dari ID halaman). Jika karena alasan apa pun, ID file yang direferensikan adalah < 0 atau bukan ID file yang valid dalam database (per ID file yang valid yang tercantum dalam tampilan katalog sistem seperti sys.database_files), maka kesalahan 5180 dapat ditemui.

Salah satu kemungkinan penyebabnya adalah ID file tersimpan tidak valid. Karena rekaman yang diteruskan dalam baris mereferensikan halaman lain, ketika halaman tersebut diakses dan ID file tidak valid, kesalahan 5180 dapat ditemui. Kondisi ini akan menjadi kesalahan kerusakan database pada halaman dengan catatan yang diteruskan. (Dalam contoh ini, DBCC CHECKDB akan melaporkan Msg 8993).

Contoh lain adalah ID file yang tidak valid sebagai bagian dari ID halaman seperti yang disimpan di header halaman untuk ID halaman berikutnya atau sebelumnya. Bidang ini digunakan untuk menautkan serangkaian halaman seperti dalam indeks berkluster. Jika ID file tidak valid untuk halaman sebelumnya atau berikutnya, ketika mesin harus mereferensikan ini untuk melintasi halaman berikutnya atau sebelumnya, kesalahan 5180 dapat ditemui. (Dalam contoh ini, DBCC CHECKDB melaporkan Msg 8981).

Jika masalahnya bukan ID file yang tidak valid karena ID halaman tersimpan yang rusak, maka masalahnya mungkin berada dalam Mesin Database SQL Server.

Tindakan pengguna

Jika Anda mengalami kesalahan ini, Anda harus menjalankan DBCC CHECKDB database seperti yang tercantum dalam pesan kesalahan. Jika Anda menemukan kesalahan, Anda harus memulihkan dari Pencadangan yang baik yang diketahui. Jika Anda tidak dapat memulihkan dari Cadangan, maka opsi Anda yang lain adalah menggunakan opsi DBCC CHECKDB perbaikan seperti yang direkomendasikan oleh outputnya. Dalam kebanyakan kasus, perbaikan jenis kesalahan ini akan mengakibatkan kehilangan data. Untuk informasi selengkapnya tentang penggunaan dan penyebab masalah kerusakan database, lihat artikel: Cara memecahkan masalah kesalahan konsistensi database yang dilaporkan oleh DBCC CHECKDB.

Jika DBCC CHECKDB tidak melaporkan kesalahan dan masalah terus terjadi, Anda harus menghubungi Dukungan Teknis Microsoft untuk mendapatkan bantuan. Bersiaplah untuk memberikan kueri yang mengalami kesalahan 5180. Lihat bagian Informasi selengkapnya tentang cara menentukan kueri apa yang mengalami kesalahan.

Informasi selengkapnya

Blok Kontrol File (FCB) adalah struktur memori internal yang melacak informasi penting tentang file yang terkait dengan database. ID file digunakan untuk mengidentifikasi FCB untuk database secara unik. Jika mesin server mencoba mereferensikan ID file yang tidak valid, struktur FCB tidak dapat ditemukan yang memicu kondisi kesalahan 5180.

Untuk mengetahui kueri apa yang mengalami kesalahan ini, Anda bisa menggunakan teknik berikut:

  • Untuk SQL Server 2008 dan versi yang lebih baru, lihat apakah sesi system_health memiliki catatan kesalahan, yang harus menyertakan teks kueri. Lihat sumber daya untuk informasi selengkapnya tentang sesi system_health: Mendukung SQL Server 2008: Sesi system_health.
  • Gunakan SQL Server Profiler dan ambil SQL:BatchStarting, , RPC:Startingdan Peristiwa Pengecualian. Temukan kueri yang mendahului Peristiwa Pengecualian untuk 5180 untuk sesi yang terkait dengan Peristiwa Pengecualian.