none
Errore 823 RRS feed

  • Domanda

  • Buongiorno, in questi giorni mi è capitato un problema un pò strano sul mio cluster ,SQL 2008R2 su 2 Nodi Windows 2008 R2 Enterprise SP1, in poche parole dopo uno switch di uno dei 2 nodi , tutte le istanze sono tornate su ma una in particolare è mistato in fail, Servizi SQLServer e Agent.

    Ho visto gli eventi e ho trovato questa:

    MSSQL$istanza error 823

    The operating system returned error 21(The device is not ready.) to SQL Server during a read at offset 0x000000001c4000 in file 'H:\MSSQL10_50.istanza\MSSQL\DATA\DB.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. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.

    Quando provavo a tirar su l'istanza ho avuto questi eventi

    SQL$istanza error 17053/9001/3449/19019/17058

    LogWriter: Operating system error 21(The device is not ready.) encountered.

    E in effetti la risorsa disco era up ma andando a vedere disk managment, il disco c'era ma non aveva nessuna lettera assegnata, ridandogli quella esatta e facendo un brinding on line è risalito tutto sù.

    Tenendo presente che la SAN non ha avuto errori i software che mi gestisce i path non aveva errori, non ho capito come mai si è verificato questa problematica. Come posso capire come mai è successo tutto ciò.

    Grazie in anticipo.

    giovedì 17 maggio 2012 13:00

Risposte

  • L'errore 823 fa riferimento ad un problema di I/O, come riportato qui: http://support.microsoft.com/kb/2015755.

    Hai verificato:

    - che non ci siano pagine "suspect" (http://msdn.microsoft.com/en-us/library/ms191301.aspx)

    - che il database sia consistente tramite l'esecuzione di DBCC CHECKDB ?

    Altra cosa: hai verificato che non ci siano conflitti nell'assegnazione delle lettere di unità (ad esempio dovute a group policy che assegnano i dischi condivisi) su entrambi i nodi ? Magari semplicemente il servizio cluster switcha il nodo e si trova la lettera occupata... Mi è capitato in un cluster tempo fa...

    Dici che SAN e software multipath non hanno errori: sicuro che nel log di Windows non ce ne siano ? Solitamente questo genere di errori lascia dietro di sé delle tracce... visto che si tratta generalmente di errori hw. Puoi provare anche a stressare i dischi con utility come SQLIOSim come indicato nel primo link che ti ho indicato.

    Fammi sapere...


    Danilo Dominici MCP MCDBA MCITP MCSE MCAD Questo post è fornito "così com'è". Non conferisce garanzie o diritti di alcun tipo. Ricorda di usare la funzione "segna come risposta" per i post che ti hanno aiutato a risolvere il problema e "deseleziona come risposta" quando le risposte segnate non sono effettivamente utili. Questo è particolarmente utile per altri utenti che leggono il thread, alla ricerca di soluzioni a problemi similari. ENG: This posting is provided "AS IS" with no warranties, and confers no rights. Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.

    lunedì 21 maggio 2012 09:53

Tutte le risposte

  • Nessuna news ? :(
    lunedì 21 maggio 2012 08:45
  • L'errore 823 fa riferimento ad un problema di I/O, come riportato qui: http://support.microsoft.com/kb/2015755.

    Hai verificato:

    - che non ci siano pagine "suspect" (http://msdn.microsoft.com/en-us/library/ms191301.aspx)

    - che il database sia consistente tramite l'esecuzione di DBCC CHECKDB ?

    Altra cosa: hai verificato che non ci siano conflitti nell'assegnazione delle lettere di unità (ad esempio dovute a group policy che assegnano i dischi condivisi) su entrambi i nodi ? Magari semplicemente il servizio cluster switcha il nodo e si trova la lettera occupata... Mi è capitato in un cluster tempo fa...

    Dici che SAN e software multipath non hanno errori: sicuro che nel log di Windows non ce ne siano ? Solitamente questo genere di errori lascia dietro di sé delle tracce... visto che si tratta generalmente di errori hw. Puoi provare anche a stressare i dischi con utility come SQLIOSim come indicato nel primo link che ti ho indicato.

    Fammi sapere...


    Danilo Dominici MCP MCDBA MCITP MCSE MCAD Questo post è fornito "così com'è". Non conferisce garanzie o diritti di alcun tipo. Ricorda di usare la funzione "segna come risposta" per i post che ti hanno aiutato a risolvere il problema e "deseleziona come risposta" quando le risposte segnate non sono effettivamente utili. Questo è particolarmente utile per altri utenti che leggono il thread, alla ricerca di soluzioni a problemi similari. ENG: This posting is provided "AS IS" with no warranties, and confers no rights. Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.

    lunedì 21 maggio 2012 09:53
  • Sono d'accordo: SQL sfrutta le lettere di unità quindi è normale che ti sia stato segnalato quell'errore di I/O anche se il disco era rimasto online. Il problema si trova probabilmente nell'assegnazione delle lettere nel cluster.

    Per iniziare direi di controllare i registri consigliati qui Risoluzione dei problemi relativi al clustering di failover in "Procedura di base per la risoluzione dei problemi".


    lunedì 21 maggio 2012 10:42
    Moderatore
  • Ciao ho fatto questa analisi già la volta scorsa, non c'erano dischi con le stesse lettere di unità, i db sono consistenti, infatti mi è risultato strano anche per questo.

    Se ricapiterà , speriamo di no,vi farò sapere.

    Grazie

     
    mercoledì 23 maggio 2012 13:35