Aracılığıyla paylaş


MSSQLSERVER hatası 823

Şunlar için geçerlidir: SQL Server

Ayrıntılar

Özellik Değer
Ürün Adı SQL Sunucusu
Olay Kimliği 823
Olay Kaynağı MSSQLSERVER
Bileşen SQLEngine
Sembolik Ad B_HARDERR
İleti Metni SQL Server'a, '%ls' dosyasındaki %#016I64x uzaklıkta, %S_MSG esnasında işletim sistemi tarafından hata %ls iletildi. SQL Server hata günlüğü ve sistem olay 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 sistem düzeyi 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. SQL Server Books Online.

Açıklama

SQL Server, dosya G/Ç işlemlerini gerçekleştirmek için ReadFile, WriteFile, ReadFileScatter ve WriteFileGather gibi Windows API'lerini kullanır. SQL Server bu G/Ç işlemlerini gerçekleştirdikten sonra, bu API çağrılarıyla ilişkili tüm hata koşullarını denetler. API çağrıları bir işletim sistemi (OS) hatasıyla başarısız olursa, SQL Server Hata 823'i bildirir.

823 hata iletisi aşağıdaki bilgileri içerir:

  • G/Ç işleminin gerçekleştirildiği veritabanı dosyası.

  • G/Ç işleminin denendiği dosya içindeki uzaklık. Bu uzaklık, dosyanın başlangıcından itibaren fiziksel bayt uzaklığıdır. Bu sayıyı 8.192'ye bölmek, hatanın etkilediği mantıksal sayfa numarasını verir.

  • G/Ç işleminin bir okuma veya yazma isteği olup olmadığı.

  • İşletim sistemi hata kodu ve parantez içinde hata açıklaması.

İşletim sistemi tarafından oluşturulan hatalar

Okuma veya yazma Windows API çağrısı başarılı olmadığında ve SQL Server, Windows API çağrısıyla ilgili bir işletim sistemi hatasıyla karşılaştığında bir işletim sistemi hatası oluşur. Aşağıdaki ileti bir 823 hatası örneğidir:

Error: 823, Severity: 24, State: 2.
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.

DBCC CHECKDB tarafından oluşturulan hatalar

Hata iletisinde DBCC CHECKDB dosyayla ilişkilendirilmiş veritabanındaki deyiminden hatalar görebilirsiniz. 823 hatası gördüğünüzde deyimini çalıştırabilirsiniz DBCC CHECKDB . DBCC CHECKDB Deyimi herhangi bir hata bildirmezse, büyük olasılıkla aralıklı bir sistem sorununuz veya disk sorununuz vardır.

818 izleme bayrağını kullanarak SQL Server hata günlüğü dosyasında 823 hataları için daha fazla tanılama bilgisi görebilirsiniz. Daha fazla bilgi için bkz. SQL Server tanılaması eski okumalar veya kayıp yazmalar nedeniyle raporlanmayan G/Ç sorunlarını algılar.

Nedeni

823 hata iletisi genellikle temel alınan depolama sistemiyle veya G/Ç isteğinin yolundaki donanım veya 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. Okuma dosyası için SQL Server, 823 döndürmeden önce okuma isteğini dört kez yeniden denenir. Yeniden deneme işlemi başarılı olursa sorgu başarısız olmaz, ancak ileti MSSQLSERVER_825 ERRORLOG ve Olay Günlüğü'ne yazılır.

Kullanıcı eylemi

  • Bu sorunla karşılaşan diğer sayfalar (aynı veritabanında veya farklı veritabanlarında) için içindeki msdbsuspect_pages tablosunu gözden geçirin.

  • komutunu kullanarak aynı birimde (823 iletisinde bildirilen) bulunan veritabanlarının DBCC CHECKDB tutarlılığını denetleyin. Komutunda DBCC CHECKDB tutarsızlıklar bulursanız DBCC CHECKB tarafından bildirilen veritabanı tutarlılığı hatalarını giderme makalesindeki yönergeleri kullanın.

  • İş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ı giderin. Örneğin, 823 iletisi dışında, Olay Günlüğü'nde Disk kaynağı tarafından bildirilen "Sürücü \Device\Harddisk4\DR4 üzerinde 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 bu disk hatalarını düzeltmeniz gerekir.

  • Bu 823 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 yardımcı programı SQL Server 2008 ve sonraki sürümleriyle birlikte gönderilir, bu nedenle ayrı bir indirmeye gerek yoktur. Bunu genellikle klasörünüzde C:\Program Files\Microsoft SQL Server\MSSQLxx.MSSQLSERVER\MSSQL\Binn bulabilirsiniz.

  • Ş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ünceldir.
  • 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.

  • Sorunlarla karşılaşan bu G/Ç isteklerinin yolunda filtre sürücüleri olup olmadığını değerlendirin.

    • Bu filtre sürücülerde güncelleştirme olup olmadığını denetleyin.

    • 823 hatasına neden olan sorunun giderilip giderildiğini görmek için bu filtre sürücülerini kaldırabilir veya devre dışı bırakabilir misiniz?

İşletim sistemi hatası 21 ile örnek

Bu durumda, temel alınan işletim sistemi hatası 21 disk cihazının çevrimdışı olduğunu ve işletim sistemi ve SQL Server tarafından kullanılamadığını gösterir.

Error: 823, Severity: 24, State: 2.
The operating system returned error 21 (The device is not ready.) 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.

Çözünürlük

Benzer bir senaryoyla karşılaşırsanız, temel işletim sistemi hatasını giderin. Bu durumda, disk cihazının çevrimiçi olduğundan ve düzgün çalıştığından emin olmak için sistem yöneticiniz ve donanım satıcınızla birlikte çalışın. Bildirilen bir hata veya hasar olmadığından emin olun.

Veritabanı dosyaları ağa bağlı bir depolamada (NAS) veya ağ üzerinden erişilen SAN cihazında depolandığında, kararsız bir ağ bağlantısı da bu hataya neden olabilir. Bunun gibi durumlarda, disk cihazı DBCC CHECKDB çalıştırılarak geri yüklendikten sonra veritabanlarının fiziksel bütünlüğünü denetlemeniz gerekebilir. Veritabanı hasarı bildirilirse bilinen son iyi veritabanı yedeklemesini geri yükleyin.