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
TEMPDB esageratamente grosso....
mercoledì 21 novembre 2007 - 15.51
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
deshi
Profilo
| Newbie
4
messaggi | Data Invio:
mer 21 nov 2007 - 15:51
Domandona per voi esperti.
Ho un server SQL2005 64bit in cui ci sono 5 database per gestionali
(che gestiscono varie ditte diverse).
Oggi notavo che il database di sistema TEMPDB.MDF, al contrario del master ecc...
è veramente enorme, ha raggiunto i 24 GB in un mese di lavoro!!!!
sapete se è una cosa normale oppure c'è un barbatrucco per ridurlo di dimensione ?
che tipo di funzione ha questo database di sistema ?
Grazie...
Ciao.
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 21 nov 2007 - 20:47
>Oggi notavo che il database di sistema TEMPDB.MDF, al contrario
>del master ecc...
>è veramente enorme, ha raggiunto i 24 GB in un mese di lavoro!!!!
>
>sapete se è una cosa normale oppure c'è un barbatrucco per ridurlo
>di dimensione ?
>che tipo di funzione ha questo database di sistema ?
Ciao Stefano,
evito di ripetere inutilmente quanto riportato dai Books Online:
"tempdb Database"
http://msdn2.microsoft.com/en-us/library/ms190768.aspx
Se ha assunto quelle dimensioni significa che qualcosa/qualcuno ne ha fatto/fa uso
Dato che quell'istanza ospita 5 gestionali, probabilmente sono loro ad averlo fatto espandere in quel modo.
Perché? Le cause potrebbero essere molteplici:
- Fanno uso di oggetti temporanei di dimensioni notevoli, come tabelle, cursori, ecc.;
- Eseguono ordinamenti, raggruppamenti o JOIN particolarmente inefficienti che causano lo storage temporaneo dei dati nel tempdb;
- Le politiche di indicizzazioni sono "cannate" e le query richiedono un appoggio dei dati nel tempdb per le operazioni viste poco fa;
- E' abilitato il row versioning;
...
Per ridurre le sue dimensioni è sufficiente arrestare l'istanza (servizio MSSQLServer) e riavviarla; in questo modo verrà generato un nuovo tempdb prendendo come template il database model.
Attenzione: se le applicazioni ne faranno un uso massiccio, il tempdb dovrà immediatamente estendersi dopo la sua creazione, quindi preparati a gestire i rallentamenti del caso.
Se vedi che il fattore di incremento è troppo piccolo, imposta un valore maggiore in modo da evitare di frammentare inutilmente i files che lo costituiscono.
>Grazie...
Prego.
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 !