73 messaggi dal 08 settembre 2006
Ciao a tutti,
ho un db su sqlserver 2008 contenente alcuni campi image con delle foto dentro, il db è molto grande, sto facendo degli update sulle righe di una tabella cancellando le foto (campo=null), sperando così di diminuirne la dimensione, ho fatto una rebuild degli indici e un compact del db e del file mdf contenenete la tabella; pur avendo azzerato però le foto in circa 2.000.000 di righe la dimensione è diminuita pochissimo, siamo passati da 250 Gb a circa 220; come mai? come posso fare per diminuire la dimensione?
Grazie
652 messaggi dal 12 maggio 2001
www.idioteca.it
che procedura hai utilizzato?
A memoria, se non ricordo male, mi sembra che nelle vecchie versioni di sql server, a seconda del metodo utilizzato, non vedevi immediatamente la nuova dimensione del db.
ciao
salve,
bryger wrote:
Ciao a tutti,
ho un db su sqlserver 2008 contenente alcuni campi image con delle foto dentro, il db è molto grande, sto facendo degli update sulle righe di una tabella cancellando le foto (campo=null), sperando così di diminuirne la dimensione, ho fatto una rebuild degli indici e un compact del db e del file mdf contenenete la tabella; pur avendo azzerato però le foto in circa
2.000.000 di righe la dimensione è diminuita pochissimo, siamo passati da 250 Gb a circa 220; come mai? come posso fare per diminuire la dimensione? Grazie

prova anche a fare il rebuild della chiave primaria della tabella coinvolta..
saluti

Andrea Montanari (Microsoft MVP - SQL Server)
http://www.asql.biz - http://italy.mvps.org
http://www.hotelsole.com - http://www.hotelsolericcione.de
Inoltre da quel che scrivi, sembra che le immagini siano fisicamente dentro al Db (magari in formato binario) il quale è una tecnica che non condivido, per primo proprio perchè va ad aumentare notevolmente le dimensioni del Db...poi so non sia una scelta ottimale dal punto di vista della sicurezza (mi correggano se sbaglio)

Marina di Camerota OnLine
VicenzaSoftware:Creazione siti web
Forum Tecnologie
540 messaggi dal 24 maggio 2002
Contributi
Il fatto è che il file fisico occupato da SQL Server non diminuisce se si cancellano i dati. Questo serve per avere spazio non frammentato da utilizzare in futuro. Se però provi a fare un backup dovresti avere una dimensione molto più piccola.

Si può anche dimunuire utilizzando l'utility di shrink che però è sempre stata sconsigliata dal tool di gestione, non ho mai capito il perchè.

Altra cosa da fare per risparmiare spazio è quella di scolligare il DB e cancellare il file di log. Una volta riattaccato il db SQL Server lo ricrea in automatico pesante pochi Kb (fai comunque dei test prima di fare una procedura del genere in produzione, mi raccomando :-)

Marco.
73 messaggi dal 08 settembre 2006
la procedura che ho usato è la seguente :

cancellate le foto, rifatto l'indice clustered (chiave primaria), fatta la compact database, poi la compact file, nessun risultato

Per ricardo78 : ho trovato il database già così e non posso cambiare per ora, te cosa consigli, tenere le foto su file system con dei link nel db?

Per dancerjude : ho guardato la discussione indicata ma mi pare che l'MVP che risponde dica che l'eliminazione dello spazio inutilizzato non sempre è un vantaggio, posso essere d'accordo però capisci che un db da 220 gb è un po' grande, vorrei cercare di ridurlo un po', avete altri suggerimenti? ho guardato sulla documentazione e mi sembra di aver capito che potrei usare :

shrinkdatadase con l'opzione notruncate che spsota le pagine allocate dalla fine all'inzio del file e poi rilanciarlo con l'opzione truncate only che elimina lo spazio inutilizzato alla fine del file, può essere giusto?
540 messaggi dal 24 maggio 2002
Contributi
Potresti anche provare a fare un backup e poi a ripristinarlo.

Anche secondo me, comunque, è meglio teneri i file fuori da SQL server dove invece ci deve finire solo il riferimento.

Marco.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC