Bagikan melalui


Kesalahan MSSQLSERVER 823

Berlaku untuk: SQL Server

Detail

Atribut Nilai
Nama Produk SQL Server
ID Peristiwa 823
Sumber Kejadian MSSQLSERVER
Komponen SQLEngine
Nama Simbolis B_HARDERR
Teks Pesan Sistem operasi mengembalikan kesalahan %ls ke SQL Server selama %S_MSG pada offset %#016I64x dalam file '%ls'. Pesan tambahan dalam log kesalahan SQL Server dan log peristiwa sistem dapat memberikan detail lebih lanjut. Ini adalah kondisi kesalahan tingkat sistem yang parah yang mengancam integritas database dan harus segera diperbaiki. Selesaikan pemeriksaan konsistensi database lengkap (DBCC CHECKDB). Kesalahan ini dapat disebabkan oleh banyak faktor; untuk informasi selengkapnya, lihat SQL Server Books Online.

Penjelasan

SQL Server menggunakan API Windows (misalnya, ReadFile, WriteFile, ReadFileScatter, WriteFileGather) untuk melakukan operasi I/O file. Setelah melakukan operasi I/O ini, SQL Server memeriksa kondisi kesalahan apa pun yang terkait dengan panggilan API ini. Jika panggilan API gagal dengan kesalahan Sistem Operasi, maka SQL Server melaporkan Kesalahan 823.

Pesan kesalahan 823 berisi informasi berikut:

  • File database tempat operasi I/O dilakukan
  • Offset dalam file tempat operasi I/O dicoba. Ini adalah offset byte fisik dari awal file. Memba lagi nomor ini dengan 8192 akan memberi Anda nomor halaman logis yang terpengaruh oleh kesalahan.
  • Apakah operasi I/O adalah permintaan baca atau tulis
  • Kode kesalahan Sistem Operasi dan deskripsi kesalahan dalam tanda kurung

Kesalahan sistem operasi: Panggilan API Windows baca atau tulis tidak berhasil, dan SQL Server mengalami kesalahan sistem operasi yang terkait dengan panggilan Windows API. Pesan berikut adalah contoh kesalahan 823:

Error: 823, Severity: 24, State: 2.
2010-03-06 22:41:19.55 spid58 The operating system returned error 1117 (The request could not be performed because of an I/O device error.) to SQL Server during a read at offset 0x0000002d460000 in file 'e:\program files\Microsoft SQL Server\mssql\data\mydb.MDF'. Additional messages in the SQL Server error log and system event log may provide more detail. This is a severe, system-level error condition that threatens database integrity and must be corrected immediately. It is recommended to complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.

Anda mungkin atau mungkin tidak melihat kesalahan dari pernyataan DBCC CHECKDB pada database yang terkait dengan file dalam pesan kesalahan. Anda dapat menjalankan pernyataan DBCC CHECKDB saat melihat kesalahan 823. Jika pernyataan DBCC CHECKDB tidak melaporkan kesalahan apa pun, Anda mungkin mengalami masalah sistem terputus-terputus atau masalah disk.

Informasi diagnostik tambahan untuk kesalahan 823 dapat ditulis ke file log kesalahan SQL Server saat Anda menggunakan bendera pelacakan 818. Untuk informasi selengkapnya, lihat KB 826433: Diagnostik SQL Server tambahan yang ditambahkan untuk mendeteksi masalah I/O yang tidak dilaporkan

Penyebab

Pesan kesalahan 823 biasanya menunjukkan bahwa ada masalah dengan sistem penyimpanan yang mendasar atau perangkat keras atau driver yang berada di jalur permintaan I/O. Anda dapat mengalami kesalahan ini ketika ada inkonsistensi dalam sistem file atau jika file database rusak. Dalam kasus file yang dibaca, SQL Server telah mencoba kembali permintaan baca empat kali sebelum mengembalikan 823. Jika operasi coba lagi berhasil, kueri tidak akan gagal tetapi pesan 825 akan ditulis ke dalam ERRORLOG dan Log Peristiwa.

Tindakan Pengguna

  • Tinjau tabel suspect_pages di MSDB untuk halaman lain yang mengalami masalah ini (dalam database yang sama atau database yang berbeda).
  • Periksa konsistensi database yang terletak pada volume yang sama (seperti yang dilaporkan dalam pesan 823) menggunakan perintah DBCC CHECKDB. Jika Anda menemukan inkonsistensi dari perintah DBCC CHECKDB, gunakan panduan dari Cara memecahkan masalah kesalahan konsistensi database yang dilaporkan oleh DBCC CHECKB.
  • Tinjau log Peristiwa Windows untuk setiap kesalahan atau pesan yang dilaporkan dari Sistem Operasi atau Perangkat Storage atau Driver Perangkat. Jika terkait dengan kesalahan ini dengan cara tertentu, atasi kesalahan tersebut terlebih dahulu. Misalnya, selain pesan 823, Anda mungkin juga melihat peristiwa seperti "Driver mendeteksi kesalahan pengontrol pada \Device\Harddisk4\DR4" yang dilaporkan oleh sumber Disk di Log Peristiwa. Dalam kasus ini, Anda harus mengevaluasi apakah file ini ada di perangkat ini lalu memperbaiki kesalahan disk tersebut terlebih dahulu.
  • Gunakan utilitas SQLIOSim untuk mengetahui apakah kesalahan 823 ini dapat direproduksi di luar permintaan I/O SQL Server reguler. Utilitas SQLIOSim dikirim dengan SQL Server 2008 dan versi yang lebih baru sehingga tidak perlu mengunduh secara terpisah. Anda biasanya dapat menemukannya di folder Anda C:\Program Files\Microsoft SQL Server\MSSQLxx.MSSQLSERVER\MSSQL\Binn .
  • Bekerja sama dengan vendor perangkat keras atau produsen perangkat Anda untuk memastikan
    • Perangkat perangkat keras dan konfigurasi sesuai dengan persyaratan I/O SQL Server
    • Driver perangkat dan komponen perangkat lunak pendukung lainnya dari semua perangkat di jalur I/O sudah diperbarui
  • Jika vendor perangkat keras atau produsen perangkat memberi Anda utilitas diagnostik apa pun, gunakan untuk mengevaluasi kesehatan sistem I/O
  • Evaluasi apakah ada driver filter yang ada di jalur permintaan I/O ini yang mengalami masalah.
    • Periksa apakah ada pembaruan untuk driver filter ini
    • Dapatkah driver filter ini dihapus atau dinonaktifkan untuk mengamati apakah masalah yang mengalihkan kesalahan 823 hilang