Migrazione da SQL Server 2005 Standard Ed. 64 bit ad Enterprise Ed. 64...

martedì 17 novembre 2009 - 17.16

prassitele Profilo | Newbie

Ciao a tutti.
Nella mia Azienda, alcune sere fa, i nostri sistemisti hanno effettuato la migrazione delle Istanze Cluster di SQL Server 2005 64 bit dalla Edizione Standard alla Edizione Enterprise. Questa migrazione, programmata da tempo, ha indubbiamente portato diversi vantaggi in termini di miglioramento delle performances nella esecuzione di molte Stored. Tuttavia, su alcuni servizi che prevedono l'esecuzione di alcune Procedure sql piuttosto articolate, abbiamo notato un decadimento pauroso delle prestazioni. Per fare un esempio:
Nella estrazione di determinate statistiche, viene usata una Stored che, ricevuto in ingresso un intervallo temporale, automaticamente lo fraziona in intervalli mensili e, relativamente all'ultimo mese di ricerca, provvede al frazionamento di quest'ultimo in intervalli settimanali; per ognuno di questi sottointervalli, la stored richiama un'altra procedura che, per ogni cliente, estrae le statistiche di interesse e colleziona i risultati in una tabella temporanea che crea dinamicamente. Al termine, la procedura legge la tabella, restituisce l'esito della query in formato XML e distrugge la tabella stessa, lasciando il DB pulito. Prima della migrazione, il tempo di esecuzione della statistica, su un parco clienti composto da diverse centinaia di unità, richiedeva meno di 10 secondi; dopo la migrazione la medesima statistica viene eseguita in 20 minuti!!!
Mi son dannato l'anima esaminando le opzioni con cui l'installazione è stata effettuata ma non ho notato cose strane.
Premetto che tutte le tabelle sono indicizzate rispetto ai campi più frequentemente coinvolti nelle query e che, ogni notte, un Job opera la Riorganizzazione o la Ricostruzione degli indici, a seconda delle esigenze.
C'è qualcuno che possa darmi qualche suggerimento, magari indicandomi qualche opzione da settare, per risolvere questo spinoso problema?

Grazie e ciao ancora.

Enrico

Brainkiller Profilo | Guru

>Premetto che tutte le tabelle sono indicizzate rispetto ai campi
>più frequentemente coinvolti nelle query e che, ogni notte, un
>Job opera la Riorganizzazione o la Ricostruzione degli indici,
>a seconda delle esigenze.
>C'è qualcuno che possa darmi qualche suggerimento, magari indicandomi
>qualche opzione da settare, per risolvere questo spinoso problema?

Ciao Enrico,
la prima domanda è, e i sistemisti cosa dicono ?
A parte questa anche se la mia conoscenza in questo campo (cluster e mica cluster) è pressochè nulla, la prima cosa che mi verrebbe da fare è analizzare le stored procedure che richiedono 20 minuti per l'esecuzione. Non ti è possibile fare una analisi query by query e vedere l'execution plan e i singoli tempi d'esecuzione dei vari blocchi della SP ?

Leggendo la prima parte del tuo quesito la mia risposta sarebbe state di ricostruire gli indici, ma evidentemente mi sono accorto sul finale che già viene fatto. Puoi escludere con certezza che su qualche colonna che tu utilizzi manchi effettivamente un indice e che per cause a me ignote prima funzionava egregiamente e ora no ?
Ciao

David De Giacomi | <empty>
http://blogs.dotnethell.it/david/

prassitele Profilo | Newbie

Ciao, David.
Grazie infinite per il tuo contributo.
Ho provveduto ad esaminare, come mi hai suggerito, il piano di esecuzione delle Stored "incriminate" e non ho rilevato alcunchè di anormale. Mi sembra, invece, che su qualche tabella si siano persi alcuni indici. Probabilmente la ragione del decadimento delle prestazioni è da individuare proprio in questo.
Ora ricostruirò gli indici perduti, avvierò il processo di Rebuild e, non appena sarà possibile, opererò lo Shrink del DataBase (non è operazione che si possa fare a cuor leggero perchè il DB è quello di Produzione ed ha una dimensione di 500 GB ).
Ho idea che al termine di questo can can, riuscirò a riottenere buone prestazioni.

Grazie ancora per gli ottimi consigli.
Ciao.

Enrico

Brainkiller Profilo | Guru

>Ora ricostruirò gli indici perduti, avvierò il processo di Rebuild
>e, non appena sarà possibile, opererò lo Shrink del DataBase
>(non è operazione che si possa fare a cuor leggero perchè il
>DB è quello di Produzione ed ha una dimensione di 500 GB

Schedulala di notte nel momento di minor uso.

>Ho idea che al termine di questo can can, riuscirò a riottenere
>buone prestazioni.

Fai sapere se risolvi sempre in questo thread.

>Grazie ancora per gli ottimi consigli.
>Ciao.

Ciao

David De Giacomi | <empty>
http://blogs.dotnethell.it/david/
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