Enjoy Your SQL Soluzione "Quiz: trova le differenze" (del 16 luglio 2009) - Francesco Quaratino

Soluzione "Quiz: trova le differenze" (del 16 luglio 2009)

Gli elementi da confrontare nel "quiz" hanno come oggetto la ricostruzione degli indici di un database, che
  • la (A) realizza mediante la nota SP di sistema non documentata "sp_MSforeachtable" che lancia l'istruzione DBCC DBREINDEX su ogni tabella del db,
  • e la (B) mediante il il task "Rebuild Index" del "Maintenance Plan".
Le differenze sono diverse. Quelle più evidente sono le opzioni messe a disposizione dal "Rebuild Index" (e non dal DBCC DBREINDEX) che consentono di sfruttare il tempdb (vedi  "Tempdb and Index Creation") e le potenzialità dell' on-line rebuild (vedi "Performing Index Operations Online").
 
Quella meno evidentemente - ma forse più importante - si riferisce al FILLFACTOR, ovvero il fattore percentuale del riempimento delle pagine dell'indice, che la DBREINDEX interpreta come "fattore di riempimento" (quindi 90 vuole dire 90% di spazio occupato), mentre il task Rebuild Index interpreta come "free space" (quindi 90 vuol dire 10% di spazio occupato).
 
Diciamo che basterebbe leggere bene quello che l'interfaccia grafica ci chiede di impostare (..change free space per page percentage to..), ma per chi è abituato a lavorare col T-SQL, l'equivoco è in agguato!

Comments

No Comments