Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Rallentamenti Batch Notturno
lunedì 27 ottobre 2008 - 19.00
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
stepic77
Profilo
| Newbie
24
messaggi | Data Invio:
lun 27 ott 2008 - 19:00
Ho l'esigenza di effettuare dei calcoli abbastanza complessi in un batch notturno, il database SQL 2005 oltre al calcolo, inserisce circa 1 milione di righe su una tabella. Per questa elaborazione (un DTSX) non ho bisogno di scrivere sulla Transaction Log di SQL Server ma scrivendoci, sembra andare molto + veloce. Col passare dei giorni, i tempi per l'elaborazione aumentano vertiginosamente tanto da essere costretto ad eseguire "in ordine"
BACKUP LOG MIO_DB WITH TRUNCATE_ONLY
ALTER DATABASE MIO_DB SET RECOVERY SIMPLE
DBCC SHRINKFILE (MIO_DB e log, 10)
ALTER DATABASE MIO_DB SET RECOVERY FULL
e per finire una funzione di IndexOptimize prima di ristabilire una tempistica accettabile.
qual'è la corretta procedura per ottenere la maggior velocità del processo?
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
lun 27 ott 2008 - 19:05
>Per questa elaborazione (un DTSX) non ho bisogno di scrivere sulla Transaction
>Log di SQL Server ma scrivendoci, sembra andare molto + veloce.
Iniziamo col dire che NON E' possibile evitare il logging delle transazioni sul t-log.
>Col passare dei giorni, i tempi per l'elaborazione aumentano
>vertiginosamente tanto da essere costretto ad eseguire "in ordine"
>
>BACKUP LOG MIO_DB WITH TRUNCATE_ONLY
>ALTER DATABASE MIO_DB SET RECOVERY SIMPLE
>DBCC SHRINKFILE (MIO_DB e log, 10)
>ALTER DATABASE MIO_DB SET RECOVERY FULL
>e per finire una funzione di IndexOptimize prima di ristabilire
>una tempistica accettabile.
Azz... Perché utilizzi il recovery model a full se poi ti tocca troncarlo?
Se non hai implementato una politica di backup basata sul t-log, imposta il recovery model a simple e vivi felice
>qual'è la corretta procedura per ottenere la maggior velocità
>del processo?
1) Conoscere i dettagli del tuo "processo"
2) Implementare una corretta indicizzazione e relativa manutenzione.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
stepic77
Profilo
| Newbie
24
messaggi | Data Invio:
lun 27 ott 2008 - 19:23
OK vado col recovery model a simple
, avevo impostato il full per essere più sicuro anche se effettivamente.... non mi serve.
per Implementare una corretta indicizzazione, cosa intendi?
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
lun 27 ott 2008 - 21:52
>OK vado col recovery model a simple
, avevo impostato il
>full per essere più sicuro anche se effettivamente.... non mi
>serve.
"Più sicuro" in che senso?
Per quale motivo il simple recovery model ti fa sentire "insicuro"?
>per Implementare una corretta indicizzazione, cosa intendi?
Creare gli indici che servono e manutenerli deframmentantoli o ricreandoli quando necessario.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Torna su
Stanze Forum
Elenco Threads
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 !