Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ayrıntılar
| Özellik | Değer |
|---|---|
| Ürün adı | SQL Server |
| Olay Kimliği | 824 |
| Olay Kaynağı | MSSQLSERVER |
| Bileşen | SQLEngine |
| Sembolik Ad | B_HARDSSERR |
| İleti Metni | SQL Server mantıksal tutarlılık tabanlı G/Ç hatası algıladı: %ls. '%ls' dosyasındaki ofset %#016I64x veritabanı kimliği %d olan sayfa %S_PGID üzerindeki %S_MSG esnasında oluştu. SQL Server hata günlüğü veya işletim sistemi hata günlüğündeki ek iletiler daha fazla ayrıntı sağlayabilir. Bu, veritabanı bütünlüğünü tehdit eden ve hemen düzeltilmesi gereken ciddi bir hata koşuludur. Tam veritabanı tutarlılığı denetimini (DBCC CHECKDB) tamamlayın. Bu hata birçok faktörden kaynaklanabilir; daha fazla bilgi için bkz. https://go.microsoft.com/fwlink/?linkid=2252374. |
Belirti
Veritabanı sayfasını okuduktan veya yazdıktan sonra mantıksal tutarlılık denetimi başarısız olursa SQL Server hata günlüğünde veya Windows Uygulaması olay günlüğünde aşağıdaki hata iletisiyle karşılaşabilirsiniz:
2022-11-02 15:46:42.90 spid51 Error: 824, Severity: 24, State: 2.
2022-11-02 15:46:42.90 spid51 SQL Server detected a logical consistency-based I/O error: incorrect pageid (expected 1:43686; actual 0:0). It occurred during a read of page (1:43686) in database ID 23 at offset 0x0000001554c000 in file 'H:\MSSQL16.MSSQLSERVER\MSSQL\DATA\my_db.mdf'. Additional messages in the SQL Server error log or operating system error log may provide more detail. This is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see https://go.microsoft.com/fwlink/?linkid=2252374.
Select veya DML sorgusu bu iletiyle karşılaşırsa, hata iletisi uygulamaya döndürülür ve veritabanı bağlantısı sonlandırılır.
Nedeni
Bu hata, Windows'un sayfanın diskten başarıyla okunduğunu bildirdiğini, ancak SQL Server'ın sayfayla ilgili bir sorun keşfettiğini gösterir. Bu hata, Windows'un hatayı algılamamış olması dışında Hata 823'e benzer. Hata 824 genellikle G/Ç alt sisteminde disk sürücülerinin başarısız olması, üretici yazılımı sorunları, hatalı cihaz sürücüleri vb. gibi bir sorunu gösterir. G/Ç hataları hakkında daha fazla bilgi için bkz. Microsoft SQL Server G/Ç Temelleri, Bölüm 2.
SQL Server, G/Ç işlemlerini gerçekleştirmek için aşağıdaki Windows API'lerini kullanır: ReadFile, WriteFile, ReadFileScatterve WriteFileGather. Bu G/Ç işlemlerini tamamladıktan sonra, SQL Server bu API çağrılarıyla ilişkili tüm hata koşullarını denetler. Bu API çağrıları bir İşletim Sistemi hatasıyla başarısız olursa SQL Server Hata 823'i bildirir. Windows API çağrısının gerçekten başarılı olduğu durumlar olabilir, ancak G/Ç işlemi tarafından aktarılan veriler mantıksal tutarlılık sorunuyla karşılaşmış olabilir. Bu mantıksal tutarlılık sorunları Hata 824 aracılığıyla bildirilir.
824 hatası aşağıdaki bilgileri içerir:
- G/Ç işleminin gerçekleştirildiği veritabanı dosyası
- G/Ç işleminin gerçekleştirilmeye çalışıldığı dosya ile ilgili offset
- Bu dosyanın ait olduğu veritabanı
- G/Ç işlemine dahil olan sayfa numarası
- İşlem bir okuma veya yazma işlemi miydi?
- Başarısız olan mantıksal tutarlılık denetimiyle ilgili ayrıntılar (denetim türü, gerçek değer ve bu denetim için kullanılan beklenen değer)
Bu mantıksal tutarlılık denetimleri, G/Ç aktarımında yer alan verilerin temel öğelerinin G/Ç işlemi boyunca olduğu gibi kalmasını sağlamak için SQL Server tarafından gerçekleştirilen bütünlük denetimleridir. Denetimler Sağlama Toplamı, Yırtılmış Sayfa, Kısa aktarım, Hatalı Sayfa Kimliği, Eski Okuma ve Sayfa Denetimi Hatası'nı içerir. Gerçekleştirilen denetimlerin yapısı, veritabanı ve sunucu düzeyindeki farklı yapılandırma seçeneklerine bağlı olarak değişir.
824 hata iletisi genellikle temel alınan depolama sistemiyle, donanımla veya G/Ç isteğinin yolundaki bir sürücüyle ilgili bir sorun olduğunu gösterir. Dosya sisteminde tutarsızlıklar olduğunda veya veritabanı dosyası zarar gördüğünde bu hatayla karşılaşabilirsiniz.
Çözünürlük
824 hatasıyla karşılaşırsanız aşağıdaki çözümleri deneyebilirsiniz:
diğer sayfaların ( aynı veritabanında veya farklı veritabanlarında
msdb) bu sorunla karşılaşıp karşılaşmadiğini denetlemek için suspect_pages tablosunu gözden geçirin.SELECT * FROM msdb..suspect_pages WHERE (event_type = 1 OR event_type = 2 OR event_type = 3);DBCC CHECKDB komutunu kullanarak aynı birimde (824 iletisinde bildirilen) bulunan veritabanlarının tutarlılığını denetleyin. Komutunda
DBCC CHECKDBtutarsızlıklar bulursanız, DBCC CHECKDB tarafından bildirilen veritabanı tutarlılığı hatalarını giderme bilgi bankası makalesindeki yönergeleri kullanın.DBCC CHECKDB;Bu 824 hatalarıyla karşılaşan veritabanında veritabanı seçeneği açık değilse
PAGE_VERIFY CHECKSUM, seçeneği hemen açın. 824 hatası, sağlama toplamı hatası dışında başka nedenlerden dolayı meydana gelebilir, ancak CHECKSUM, sayfa diske yazıldıktan sonra tutarlılığını doğrulamak için en iyi seçeneği sunar. CHECKSUM seçeneğinin etkin olmadığı veritabanlarını tanımlamak için bu betiği kullanın:SELECT * FROM sys.databases WHERE page_verify_option_desc != 'CHECKSUM';İşletim Sisteminden, Depolama Cihazından veya Cihaz Sürücüsünden bildirilen hatalar veya iletiler için Windows Olay günlüklerini gözden geçirin. Bu hatayla bir şekilde ilgiliyse, önce bu hataları gidermeniz gerekir. Örneğin, 824 iletisinin dışında, Olay Günlüğü'nde Disk kaynağı tarafından bildirilen "Sürücü \Device\Harddisk4\DR4 üzerinde bir denetleyici hatası algılandı" gibi bir olay da görebilirsiniz. Bu durumda, bu dosyanın bu cihazda mevcut olup olmadığını değerlendirmeniz ve ardından önce bu disk hatalarını düzeltmeniz gerekir.
Bu 824 hatalarının normal SQL Server G/Ç istekleri dışında yeniden oluşturulıp oluşturulamadığını öğrenmek için SQLIOSim yardımcı programını kullanın. SQLIOSim, SQL Server 2008 (10.0.x) ve sonraki sürümleriyle birlikte gönderilir, dolayısıyla ayrı bir indirmeye gerek yoktur.
Şunlardan emin olmak için donanım satıcınızla veya cihaz üreticinizle birlikte çalışın:
- Donanım cihazları ve yapılandırma , SQL Server'ın G/Ç gereksinimlerine uygundur.
- G/Ç yolundaki tüm cihazların cihaz sürücüleri ve diğer destekleyici yazılım bileşenleri güncelleştirilir.
Donanım satıcısı veya cihaz üreticisi size herhangi bir tanılama yardımcı programı sağladıysa, G/Ç sisteminin durumunu değerlendirmek için bunları kullanın.
Bu isteklerin G/Ç yolunda Filtre Sürücüleri olup olmadığını değerlendirin. Sistemdeki tüm filtre sürücülerini listelemek için aşağıdaki komutları çalıştırabilirsiniz:
fltmc filters fltmc instances- Veritabanı ve günlük dosyalarının bu tür filtre sürücüleri tarafından taranmasını hariç tutun. Daha fazla bilgi için bkz. Virüs taramasının dışında tutulacak dizinler ve dosya adı uzantıları
- Bu filtre sürücülerde güncelleştirme olup olmadığını denetleyin
- 824 hatasıyla sonuçlanacak sorunun giderilip giderilmediğini gözlemlemek için bu filtre sürücüleri kaldırılabilir veya devre dışı bırakılabilir mi?
Bir sanal makine çalıştırıyorsanız tüm sanallaştırma sürücülerinin güncelleştirildiğinden emin olun veya daha fazla bilgi için sanallaştırma satıcısına başvurun.
Sorun donanımla ilgili değilse ve bilinen bir temiz yedekleme varsa veritabanını yedekten geri yükleyin.