Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Bijzonderheden
| Eigenschap | Waarde |
|---|---|
| Productnaam | SQL Server |
| Gebeurtenis-id | 823 |
| Bron van gebeurtenis | MSSQLSERVER |
| Onderdeel | SQLEngine |
| Symbolische naam | B_HARDERR |
| Berichttekst | Het besturingssysteem heeft een fout %ls doorgegeven aan SQL Server tijdens een %S_MSG bij offset %#016I64x in bestand '%ls'. Aanvullende berichten in het SQL Server-foutenlogboek en het gebeurtenislogboek van het systeem kunnen meer details bieden. Dit is een ernstige fouttoestand op systeemniveau die de database-integriteit bedreigt en onmiddellijk moet worden gecorrigeerd. Voltooi een volledige databaseconsistentiecontrole (DBCC CHECKDB). Deze fout kan worden veroorzaakt door veel factoren; Zie SQL Server Books Online voor meer informatie. |
Uitleg
SQL Server maakt gebruik van Windows-API's (bijvoorbeeld ReadFile, WriteFile, ReadFileScatter, WriteFileGather) om I/O-bewerkingen uit te voeren. Nadat SQL Server deze I/O-bewerkingen heeft uitgevoerd, wordt gecontroleerd op eventuele foutvoorwaarden die zijn gekoppeld aan deze API-aanroepen. Als de API-aanroepen mislukken met een besturingssysteemfout, meldt SQL Server fout 823.
Het foutbericht 823 bevat de volgende informatie:
- Het databasebestand waarop de I/O-bewerking is uitgevoerd.
- De offset in het bestand waarin de I/O-bewerking is geprobeerd. Dit is de fysieke byte-offset vanaf het begin van het bestand. Door dit getal te delen met 8.192 krijgt u het logische paginanummer dat wordt beïnvloed door de fout.
- Of de I/O-bewerking een lees- of schrijfaanvraag is.
- De foutcode en de beschrijving van het besturingssysteem tussen haakjes.
Fout in het besturingssysteem: Een Windows-API-aanroep voor lezen of schrijven is niet gelukt en SQL Server krijgt een besturingssysteemfout te zien die is gerelateerd aan de Windows API-aanroep. Het volgende bericht is een voorbeeld van een 823-fout:
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.
Mogelijk ziet u fouten uit de DBCC CHECKDB-instructie in de database die is gekoppeld aan het bestand in het foutbericht. U kunt de DBCC CHECKDB-instructie uitvoeren wanneer er een 823-fout wordt weergegeven. Als de DBCC CHECKDB-instructie geen fouten rapporteert, hebt u waarschijnlijk een onregelmatig systeemprobleem of een schijfprobleem.
Aanvullende diagnostische gegevens voor 823-fouten kunnen naar het sql Server-foutenlogboekbestand worden geschreven wanneer u traceringsvlag 818 gebruikt. Zie diagnostische gegevens van SQL Server niet-gerapporteerde I/O-problemen detecteren vanwege verlopen lees- of verloren schrijfbewerkingenvoor meer informatie.
Oorzaak
Het foutbericht 823 geeft meestal aan dat er een probleem is met het onderliggende opslagsysteem of de hardware of een stuurprogramma dat zich in het pad van de I/O-aanvraag bevindt. U kunt deze fout tegenkomen wanneer er inconsistenties zijn in het bestandssysteem of als het databasebestand is beschadigd. Voor het lezen van een bestand heeft SQL Server de leesaanvraag al vier keer opnieuw geprobeerd voordat deze 823 retourneert. Als de bewerking voor opnieuw proberen slaagt, mislukt de query niet, maar wordt MSSQLSERVER_825 in het FOUTENLOGBOEK en gebeurtenislogboek geschreven.
Gebruikersactie
Bekijk de suspect_pages tabel voor
msdbandere pagina's die dit probleem ondervinden (in dezelfde database of verschillende databases).Controleer de consistentie van databases op hetzelfde volume (zoals de database die in het 823-bericht is gerapporteerd) met behulp van de DBCC CHECKDB-opdracht. Als u inconsistenties vindt van de DBCC CHECKDB-opdracht, gebruikt u de richtlijnen voor het oplossen van databaseconsistentiefouten die door DBCC CHECKB zijn gerapporteerd.
Bekijk de Windows gebeurtenislogboeken voor fouten of berichten die zijn gemeld vanuit het besturingssysteem, een opslagapparaat of een apparaatstuurprogramma. Als ze op een bepaalde manier zijn gerelateerd aan deze fout, moet u deze fouten eerst oplossen. Naast het 823-bericht ziet u bijvoorbeeld ook een gebeurtenis zoals 'Het stuurprogramma heeft een controllerfout gedetecteerd op \Device\Harddisk4\DR4' die is gerapporteerd door de schijfbron in het gebeurtenislogboek. In dat geval moet u evalueren of dit bestand aanwezig is op dit apparaat en die schijffouten vervolgens corrigeren.
Gebruik het hulpprogramma SQLIOSim gebruiken om DE SQL Server-activiteit op een schijfsubsysteemhulpprogramma te simuleren om erachter te komen of deze 823-fouten buiten normale I/O-aanvragen van SQL Server kunnen worden gereproduceerd. Het SQLIOSim-hulpprogramma wordt geleverd met SQL Server 2008 en latere versies, zodat er geen afzonderlijke download nodig is. U kunt deze meestal vinden in uw
C:\Program Files\Microsoft SQL Server\MSSQLxx.MSSQLSERVER\MSSQL\Binnmap.Werk samen met uw hardwareleverancier of apparaatfabrikant om ervoor te zorgen
- De hardwareapparaten en -configuratie voldoen aan de I/O-vereisten van SQL Server
- De apparaatstuurprogramma's en andere ondersteunende softwareonderdelen van alle apparaten in het I/O-pad zijn up-to-date
Als de hardwareleverancier of apparaatfabrikant u een diagnostisch hulpprogramma heeft geleverd, gebruikt u deze om de status van het I/O-systeem te evalueren
Evalueer of er filterstuurprogramma's aanwezig zijn in het pad van deze I/O-aanvragen die problemen ondervinden.
- Controleer of er updates voor deze filterstuurprogramma's zijn
- Kunnen deze filterstuurprogramma's worden verwijderd of uitgeschakeld om te zien of het probleem dat resulteert in de 823-fout verdwijnt?