Saya mendapatkan yang berikut SqlException
tentang memanggil prosedur tersimpan:
Mencoba mengambil halaman logis (5: 65424) dalam database 2 gagal. Itu milik unit alokasi 7349876362857938944 bukan untuk 4899918190390149120.
System.Data.SqlClient.SqlException terjadi
Message = "Mencoba mengambil halaman logis (5: 65424) dalam database 2 gagal. Itu milik unit alokasi 7349876362857938944 bukan untuk 4899918190390149120.Sumber = ". Penyedia Data SqlClient Bersih"
ErrorCode = -2146232060
Kelas = 21
LineNumber = 257
Angka = 605
Prosedur = "ispDisplayCount"
Server = "10.10.1.1"
Negara = 3
Apa artinya pengecualian ini? Apakah ada resolusi untuk masalah di atas?
Meskipun database yang dirujuk dalam kesalahan di atas menunjukkan tempdb, kesalahan serupa yang merujuk pada Pesan 605, dapat diperbaiki menggunakan jawaban di bawah ini.
Msg 605, Level 21, Negara 3, Baris 1
Mencoba mengambil halaman logis (1: 8687634) dalam database 7 gagal. Itu milik unit alokasi 72057594364821504 bukan untuk 72057594052476928.
sumber
Saya bisa menyelesaikan ini dengan membersihkan cache SQL:
Rupanya me-restart layanan SQL akan memiliki pengaruh yang sama.
(via Made By SQL , direproduksi di sini untuk membantu orang lain!)
sumber
Kemungkinan besar data di dalam tabel rusak.
sumber
Apa yang akan Anda dengar dari banyak orang adalah " database rusak, Anda harus mengembalikan " tanpa bahkan menyarankan Anda mengambil beberapa menit untuk melakukan beberapa hal berikut; tinjau log Anda, cari tahu ketika masalah pertama kali terjadi, kesalahan yang mendahului baris itu, periksa database / tabel halaman milik
Dalam kasus saya kesalahan ini didahului oleh;
Solusinya adalah untuk melacak indeks yang dimaksud dan untuk sementara menghapusnya.
Saya kemudian menemukan tautan Microsoft ini yang menjelaskan masalah persis saya dan menawarkan tautan solusi
Semoga ini bisa membantu orang lain di masa depan
sumber