none
SQL Server 2008 R2 X64: alcuni database freezati RRS feed

  • Domanda

  • Questa è la prima volta che scrivo in questo forum quindi abbiate pietà :-)

    Arriviamo al dunque

    Abbiamo un'installazione di SQL Server 2008 R2 X64 che gestisce 3 database, alcuni anche abbastanza corposi (il più grosso è di circa 3,5 GB).
    I DB hanno lo stesso schema relazionale (Ogni DB identifica una ditta diversa per le stesse gestioni).
    Accedono al DB dai 20/40 utenti contemporaneamente, su un server dedicato esclusivamente al SQL Server, composto da:
    CPU Xeon E 5405 2Ghz
    8 GB RAM (dedicata esclusivamente al SQL, con limitazione a 6 GB)
    Controller RAID con cache e BBU e dischi in RAID 5
    Sistema Operativo W2003 X64 Standard SP2

    Ci succede questo problema:
    Indipendentemente dai carichi di lavoro e dagli utenti connessi (carico della CPU in quel momento molto bassa, fra l'1% e il 5%, non utilizzo del disco, Server che sembra quasi inutilizzato) il server SQL non risponde più alle richieste relative ad un singolo DB (sembra freezzato), le più delle volte quello più corposo, mentre gli altri due rispondono regolarmente.
    Il programma gestionale non segnala errore di connessione (Connessione TCP/IP sul SQL attiva), ma sembra completamente bloccato.
    Chiaramente in questa situazione tutti gli utenti che stanno lavorando su quel DB sono bloccati (freezzati)
    Aspettando, senza effettuare nessuna operatività sul DB, l'SQL riprende vita dopo 10/20 minuti e tutto riprende a funzionare correttamente.

    Abbiamo provato a monitorare l'attività dell'SQL con SQL Profiler e non riscontriamo dal log nessuna particolarità che possa giustificare il blocco.

    Qualcuno ha avuto esperienze in merito o indicazioni su come poter tracciare o analizzare il problema al fine di capire le motivazioni dello stesso?

     

    Grazie mille

    mercoledì 13 aprile 2011 09:22

Tutte le risposte

  • Ci succede questo problema:
    Indipendentemente dai carichi di lavoro e dagli utenti connessi (carico della CPU in quel momento molto bassa, fra l'1% e il 5%, non utilizzo del disco, Server che sembra quasi inutilizzato) il server SQL non risponde più alle richieste relative ad un singolo DB (sembra freezzato), le più delle volte quello più corposo, mentre gli altri due rispondono regolarmente.
    Il programma gestionale non segnala errore di connessione (Connessione TCP/IP sul SQL attiva), ma sembra completamente bloccato.
    Chiaramente in questa situazione tutti gli utenti che stanno lavorando su quel DB sono bloccati (freezzati)
    Aspettando, senza effettuare nessuna operatività sul DB, l'SQL riprende vita dopo 10/20 minuti e tutto riprende a funzionare correttamente.

    Abbiamo provato a monitorare l'attività dell'SQL con SQL Profiler e non riscontriamo dal log nessuna particolarità che possa giustificare il blocco.

    Qualcuno ha avuto esperienze in merito o indicazioni su come poter tracciare o analizzare il problema al fine di capire le motivazioni dello stesso?

    Ciao,

    sinceramente sono in difficoltà a suggerirti una soluzione al problema dato che le cause potrebbero essere molteplici.

    Il fatto che quando il db "corposo" si impalla gli altri continuino a funnzionare correttamente senza particolari carichi del sistema, mi fa pensare che occorra focalizzarsi su tutta "la filiera" che opera su quel db (gestionale e db).

    Ora, hai già verificato che il server dal punto di vista HW e SW sia a posto? (Analizza i log di sistema e gli error log di SQL Server).

    Hai eseguito una DBCC CHECKDB sul database "corposo"? Sono stati rilevati degli errori?

    Il gestionale genera a sua volta dei log? Li hai analizzati?

    Prova a fornirci ulteriori dettagli in modo da indirizzare meglio le indagini.

    Ciao!


    Lorenzo Benaglia
    Microsoft MVP - SQL Server
    http://blogs.dotnethell.it/lorenzo
    http://social.technet.microsoft.com/Forums/it-IT/sqlserverit
    giovedì 14 aprile 2011 19:38
    Moderatore
  • <blackquote>Ora, hai già verificato che il server dal punto di vista HW e SW sia a posto? (Analizza i log di sistema e gli error log di SQL Server).</blackquote>
    Dal punto di vista HW sano abbastanza sicuro, per gli errori nei log vedo solo questo

    Impossibile caricare il gestore di protocollo Search.Mapi2Handler.1. Descrizione dell'errore: Interfaccia non registrata.

    che comunque ho già risolto disabilitando il servizio MSSEarch.

    Eseguendo DBBCC CHECKDB non mi ricordo di aver visto errori di sorta. Ma dovrei riprovare in un momento di pausa.

    Purtroppo il gestionale non genera log.

    C'è qualche file di log di windows o sql server che potrei allegare?
    venerdì 15 aprile 2011 08:21
  • ho controllato con
    DBCC CHECKDB

    ma non rilevo nessun errore in nessuno dei database ...

    lunedì 2 maggio 2011 12:54
  • Effettivamente così con poche informazioni non è proprio facile indirizzarti..

    Puoi provare a dare un'occhiata, non necessariamente in quest'ordine, a:

    - errori sui dischi nell'error log di Windows e SQL Server (cerca 823, 824, 825 per eventuali problemi di I/O)

    - test delle prestazioni dei dischi utilizzando tools come SQLIO

    - impostazioni di crescita automatica (MB o %)

      : verifica che non sia di dimensioni esagerate per la dimensione del db

      : verifica di avere abiilitato l'instant file initialization

      : bug di SQL Server per autocrescita del log con multipli di 4GB (leggi qui)

      : verifica dal report Disk Usage del SSMS se ci sono tanti eventi di crescita automatica

      : ah, DISABILITA l'auto shrink se fosse abilitato !!!!

    - usa la sp_whoisactive di Adam Machanic per verificare se ci sono problemi di blocco e non solo... Nel blog trovi le info su come usarla.

     

    Non mi viene in mente altro, per ora.


    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.
    sabato 7 maggio 2011 10:02
  • ok, grazie mille.

     

    Appena posso provo tutti questi punti e riferirò eventuali risultati.

    lunedì 9 maggio 2011 07:03
  • Rispondo ad un po' di quesiti facendo qualche domanda:

    - ho controllato l'autoshrink ed è disabilitato;

    - l'impostazione di crescita automatica è impostata per il 10%  e le dimensioni del file massime non hanno restrizioni (devo correggere l'impostazione?)

    - se per 823, 824, 825 intendevi "id evento" su "Visualizzatore eventi" non ho trovato nulla

    - i file di log non arrivano neanche a 1GB quindi per questo non dovrei avere quel bug che mi hai segnalato

    - ho provato a leggere cosa sia l'instant file initialization ma non ho capito come abilitarla, se va solo configurata o messa nei piani di manutenzione ....

    - ehm, sono ignorante ma non so come come si arriva a guardare il report Disk Usage ... sono arrivato al programma chiamato "Reporting Services Configuration Manager" ma non so se sono sulla buona strada ..

    Grazie mille

    lunedì 9 maggio 2011 08:35