Tmeout expired

mercoledì 31 maggio 2006 - 09.27

secks Profilo | Senior Member

Lavoro VB 2003 su WinForm. DataBase SQL 2000 in rete.
Se lancio il seguente comando su un PC collegato in rete da sempre il seguente errore:

Errore su UPDATE GesMovimenti SET mov_cnf = 0.828, mov_cna = 0.828, mov_cnt = 0.830, mov_clt = 0.867, mov_cnl = 0.865, mov_linr = '0000021000', mov_cnfr = 0.828, mov_cnlr = 0.865 WHERE mov_num = '0000106219' AND mov_fnm = '0000107335' AND mov_rig = '0007' AND mov_art = '000383301': Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

Se lo stesso programma con lo stesso comando sullo stesso DataBase lo lancio dal mio PC non da nessun problema.

Come posso capire che problemi ha il PC che mi dà il problema?

Ciao a tutti.
Paolo.

totti240282 Profilo | Guru

Timeout expired.......

Provato ad alzare il timeout,forse dalla rete non riesce in tempo ad eseguire il comando.
C'è solo un capitano !!!!!!

secks Profilo | Senior Member

Ho provato ad alzarlo e mi dà lo stesso errore (cmdAux.CommandTimeout = 60).
Portandolo a zero (cmdAux.CommandTimeout = 0) il programma sta fermo sul comando execute (cmdAux.ExecuteNonQuery())



lbenaglia Profilo | Guru

>Timeout expired. The timeout period
>elapsed prior to completion of the operation or the server is
>not responding.
>
>Se lo stesso programma con lo stesso comando sullo stesso DataBase
>lo lancio dal mio PC non da nessun problema.
>
>Come posso capire che problemi ha il PC che mi dà il problema?

Ciao Paolo,

se il problema si verifica solo sull'istanza di produzione, significa che quel server necessita di una indagine più accurata.
Ad esempio:

- verifica che il database abbia una corretta politica di indicizzazione e che le statistiche siano aggiornate;
- verifica che le risorse HW del server siano adeguate (serviti del system monitor);
- verifica che i problemi non siano dovuti a sovraccarichi da parte di altri servizi ospitati sul server oppure da un carico di lavoro eccessivo causato da un alto numero di connessioni concorrenti.

Come ti ha già suggerito totti puoi provare ad alzare il timeout dell'oggetto sqlCommand che probabilmente stai utilizzando per eseguire la query anche se però questo intervento è solo un palliativo che rinvia temporaneamente il problema.

Fai le verifiche del caso ed individua la vera causa dell'eccessiva durata della tua query.

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

totti240282 Profilo | Guru

ci sono eventuali firewall,perche se imposti il commantimeout a 0 ,lui aspetta in modo infinito.
C'è solo un capitano !!!!!!

secks Profilo | Senior Member

Ho fatto un'indagine con il mio collega e sembra che durante la notte, che quando lancio il programma suddetto, ci siano altri processi in corso, tipo la reindicizzazione ed altro.

C'è un modo per vedere i processi in corso sul database oltre al system monitor?


Ciao a tutti e grazie.
Paolo.

lbenaglia Profilo | Guru

>Ho fatto un'indagine con il mio collega e sembra che durante
>la notte, che quando lancio il programma suddetto, ci siano altri
>processi in corso, tipo la reindicizzazione ed altro.
>
>C'è un modo per vedere i processi in corso sul database oltre
>al system monitor?

Per avere un'idea dei processi in esecuzione sul server puoi salvarti una trace su file utilizzando la voce Trace Logs in Performance Logs and Alerts; se vuoi un elenco delle operazioni svolte da SQL Server puoi spulciare il suo error log da Enterprise Manager oppure direttamente da Notepad (C:\Program Files\Microsoft SQL Server\MSSQL\LOG).

>Ciao a tutti e grazie.
Prego.

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
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