AIUTO HO un server SQL Server che si blocca

venerdì 20 maggio 2011 - 08.03

dompa72 Profilo | Senior Member

Ho la necessità di un aiuto. Uno dei SQL server aziendali ha iniziato a non dare servizio, si blocca completamente, i database sono inaccessibili, è necessario riavviare il servizio SQLServer per ripristinare il tutto
Il Server è così configurato:
Processore Intel XEON E5506 2.13GHz
RAM 8GB
S.O. Win2008R2 SP1 64Bit
SQLServer 2008 R2 STD 64 Bit (10.50.1600)
Questo server svolge quasi esclusivamente il servizio SQL. Tutti i DataBase provengono da versioni sql vecchie principalmente dalla versione 2000 (spero che non sia questo il problema, anzi non ci credo)

Penso che il problema sia la quantità di RAM utilizzata da SQL Server (in questo momento è 7.543.000 KB), se è questo come posso configurare la ram da utilizzare da server???

Vi allego sia un immagine con la configurazione della memoria per SQL Server che il log di una giornata (tra i due blocchi)

704x629 60Kb


523x444 66Kb


530x448 71Kb


Vi dico GRAZIE in anticipo

carloalberto Profilo | Junior Member

Ciao probabilmente si e' la memoria. Imposta un limite massimo di memoria che puo usare sql (altrimenti lui la usa tutta) diciamo di 6 giga , ma dipende da cosa vuoi far fare al server oltre alla gestione dati.
Carlo Alberto

alx_81 Profilo | Guru

>Ciao probabilmente si e' la memoria. Imposta un limite massimo
>di memoria che puo usare sql (altrimenti lui la usa tutta) diciamo
>di 6 giga , ma dipende da cosa vuoi far fare al server oltre
>alla gestione dati.
>Carlo Alberto
Ciao, il fatto di vedere la memoria quasi del tutto occupata è normale per sql server. Non appena il servizio parte, esso si piglia tutta la ram possibile (se non diversamente specificato) lasciando un pochino di spazio al sistema operativo (1GB). Se poi processi più importanti o prioritari hanno necessità di spazio, sql server rilascia la memoria necessaria. Per vedere se la ram è sufficiente prova a vedere inoltre se il contatore "Buffer Cache Hit Ratio" stia intorno al 90-95%..
Non penserei però alla ram fossi in te. Penserei a guardare l'activity monitor da subito, perchè secondo me hai dei blocchi pesanti a livello di statement. Controlla i processi, la cpu, ecc.. facendo restart del servizio e seguendo per bene cosa succede.
Inoltre, prova a descriverci anche che tipo di applicazione hai, il tipo dell'ambiente (multiutenza?), ecc..
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

dompa72 Profilo | Senior Member

>>Ciao probabilmente si e' la memoria. Imposta un limite massimo
>>di memoria che puo usare sql (altrimenti lui la usa tutta) diciamo
>>di 6 giga , ma dipende da cosa vuoi far fare al server oltre
>>alla gestione dati.
>>Carlo Alberto
>Ciao, il fatto di vedere la memoria quasi del tutto occupata
>è normale per sql server. Non appena il servizio parte, esso
>si piglia tutta la ram possibile (se non diversamente specificato)
>lasciando un pochino di spazio al sistema operativo (1GB). Se
>poi processi più importanti o prioritari hanno necessità di spazio,
>sql server rilascia la memoria necessaria. Per vedere se la ram
>è sufficiente prova a vedere inoltre se il contatore "Buffer
>Cache Hit Ratio" stia intorno al 90-95%..
>Non penserei però alla ram fossi in te. Penserei a guardare l'activity
>monitor da subito, perchè secondo me hai dei blocchi pesanti
>a livello di statement.

Ti spieghi meglio

Controlla i processi, la cpu, ecc.. facendo
>restart del servizio e seguendo per bene cosa succede.
>Inoltre, prova a descriverci anche che tipo di applicazione hai,
>il tipo dell'ambiente (multiutenza?), ecc..
I server risponde in multiutenza....eventualmente riesci a fornirmi un link dove documentarmi.....merci
>--
>Alessandro Alpi | SQL Server MVP
>MCP|MCITP|MCTS|MCT
>
>http://www.alessandroalpi.net
>http://blogs.dotnethell.it/suxstellino
>http://mvp.support.microsoft.com/profile/Alessandro.Alpi


Tutti i database su questo motore sono con "Il Modello di recupero" "Con registrazione minima".....questo può comportare degli errori nella "RAM"

904x444 110Kb

Passando con la modalità di registrazione completa, con i backup svuoto anche i log????

Grazie ma sto in panne

carloalberto Profilo | Junior Member

Forse e' una domanda stupida . Ma quanto spazio libero hai su disco?
Carlo Alberto

dompa72 Profilo | Senior Member

>Forse e' una domanda stupida . Ma quanto spazio libero hai su
>disco?
>Carlo Alberto

150 gb su 300
ora ho settato la RAM massima da utilizzare è di 6.000MB

dompa72 Profilo | Senior Member

Volevo fare anche un'altra domanda, nei LOG allegati al primo post esistono molte righe sempre con lo stesso errore al quale non è richiesto nessun intervento, come posso risolvere una volta per tutte questa anomalia???
Esiste un modo per ricostruire da zero il DataBase che va sempre in errore???

Grazie dell'aiuto

lbenaglia Profilo | Guru

>Tutti i database su questo motore sono con "Il Modello di recupero"
>"Con registrazione minima".....questo può comportare degli errori
>nella "RAM"
?!

>Passando con la modalità di registrazione completa, con i backup
>svuoto anche i log????
Il Simple Recovery Model automaticamente riutilizza lo spazio occupato dalle vecchie transazioni una volta che è avvenuto il checkpoint evitando in questo modo di fare crescere in modo indefinito il t-log; diversamente gli altri 2 tipi di recovery model necessitano esplicitamente di un BACKUP LOG per fare in modo di riutilizzre tale spazio.

>Grazie ma sto in panne
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

lbenaglia Profilo | Guru

>Tutti
>i DataBase provengono da versioni sql vecchie principalmente
>dalla versione 2000 (spero che non sia questo il problema, anzi
>non ci credo)

Dopo il restore ti sei ricordato di:

1. Modificare il compatibility level (sp_dbcmptlevel)
2. Assegnare un nuovo db owner (sp_changedbowner)
3. Aggiornare tutte le statistiche (EXEC sys.sp_MSforeachtable 'UPDATE STATISTICS ? WITH FULLSCAN;';)
4. Ricostruire tutti gli indici (DBCC DBREINDEXALL)

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

dompa72 Profilo | Senior Member

>>Tutti
>>i DataBase provengono da versioni sql vecchie principalmente
>>dalla versione 2000 (spero che non sia questo il problema, anzi
>>non ci credo)
>
>Dopo il restore ti sei ricordato di:
>
>1. Modificare il compatibility level (sp_dbcmptlevel)
L'ho impostato al 2005
>2. Assegnare un nuovo db owner (sp_changedbowner)
Ho indicato l'utente sa
>3. Aggiornare tutte le statistiche (EXEC sys.sp_MSforeachtable
>'UPDATE STATISTICS ? WITH FULLSCAN;';)
L'avevo fatto tramite i piani di manutenzione
>4. Ricostruire tutti gli indici (DBCC DBREINDEXALL)
IDEM come il punto 3

Ho ripetuto il punto 2 e 3 (l'aveva fatto un collega)

Che posso fare ora???
>
>Ciao!
Ciao e grazie

>--
>Lorenzo Benaglia
>Microsoft MVP - SQL Server
>http://blogs.dotnethell.it/lorenzo/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5