Backup without index data

Greg Linwood ha lanciato un'idea che trovo (parere personale) molto interessante.
Sul suo blog potete leggere per intero il suo pensiero, mentre su Connect potete trovare la sua proposta.

In pratica suggerisce (chiede) la possibilità di avere un'operazione che possa effettuare il backup solo dei dati e non degli indici (quindi salvare solo le righe dati).

Ad esempio poter scrivere un'istruzione simile a:

BACKUP DATABASE ... WITH NO_INDEX_DATA

Tra i principali benefici Greg indica:

  • operazioni di backup molto più rapide
  • backup ridotti (come dimensione sullo storage)
  • risparmio energetico

Un vantaggio che vorrei aggiungere: risparmio di tempo e risorse quando, ad esempio, devo inviare un backup completo da una parte ad un'altra, quando ho la necessità di avere gli stessi dati da un'altra parte (es: il cliente mi deve mettere a disposizione la sua base dati).

Sicuramente l'operazione di RESTORE sarebbe (è evidente) più lunga (immagino l'operazione di restore seguita subito dopo da un rebuild completo degli indici).

Possibili applicazioni: non tutte, a mio parere.
Così, a caldo, dico che mi limiterei ad applicarla a quei database in cui posso permettermi un tempo di down maggiore nel momento in cui devo rimetterlo in linea e in tutti quei casi in cui mi è utile mandare un db da un'altra parte (da produzione a sviluppo? Da un cliente al mio ufficio?).

Io ci ragionerei su...
Mi piacerebbe sapere cosa ne pensa la community ;-)

Published mercoledì 9 aprile 2008 23.15 by abenedetti

Comments

# re: Backup without index data

giovedì 10 aprile 2008 10.37 by AlessandroD

Ma se il problema è avere dei backup il più piccoli possibile, non è più efficace comprimere un backup dopo averlo fatto in modo classico?

Io su connect a volte leggo di quelle pippe incredibili come richieste... :-)

Giusto ieri ho avuto il problema di trasferirmi da remoto un .bck da 1 GB, be', sono rimasto sorpreso dal fatto che il backup compresso con winrar sia uscito da 70 MB... meglio di così...

Certo, il tempo per la compressione/decompressione si fa sentire, ma se il problema è la banda oppure il mezzo per il trasporto del DB, be', eseguire localmente una compattazione/decompattazione non è certo un problema, anzi.

Se le intenzioni nella nuova clausola proposta sono per avere un mezzo pulito e nativo senza sovrastrutture sopra per far muovere dei backup più piccoli, be', allora la cosa ha più senso.

Ma questi casi penso che non siano molto frequenti, no?

Ciao, Alessandro

# re: Backup without index data

giovedì 10 aprile 2008 10.42 by abenedetti

Ciao Ale.

SQL 2008 consente, tra le altre cose, di fare un bakcup compresso. Ottima funzionalità, non c'è che dire.

In realtà se tu avessi un bck che contiene solo righe dati (e quindi nessun problema di congruenza, integrità referenziale, ...) avresti ancora meno spazio e tempo occupato nell'operazione...

Sicuramente, come dici tu, i casi non sarebbero molto frequenti ma io ci penserei su ;-)

# re: Backup without index data

giovedì 10 aprile 2008 10.48 by AlessandroD

Ok, letto troppo in fretta... :-)

1- operazioni di backup molto più rapide

2- backup ridotti (come dimensione sullo storage)

3- risparmio energetico

Comprimere un .bck normale soddisfa solo il punto 2, il primo ovviamente no (visto che dopo il backup in più ci sarebbe il tempo per la compattazione), per il terzo non so che dire, visto che un certo peso ci potrà essere per il backup di DB grossi dove l'accorciamento del tempo di backup può restituire indietro meno assorbimenti di energia per la minore attività dei dischi e delle unità di backup.

Ma per DB grossi intendo centinaia di giga, o qualche tera o decine di tera, insomma, roba da realtà veramente grosse!

Tendo sempre a dimenticare che dove mi muovo io (<10 GB) è realtà piccola dove certi punti di vista non hanno il peso che possono avere in realtà grosse.

Riciao, Alessandro :-)

# re: Backup without index data

giovedì 10 aprile 2008 10.51 by AlessandroD

Andrea, rispondi in tempo reale, complimenti! :-)

# re: Backup without index data

giovedì 10 aprile 2008 17.01 by orsocurioso

Mah, l'idea e' buona: piu' opzioni abbiamo a disposizione piu' e facile avere la soluzione perfetta a portata di dita.

Comunque pensando ai miei mondi mi preoccupa di piu' il tempo di restore che quello di backup, cioe' quando ho necessita' del restore e li' che desidero che le cose vadano via rapide... Per cui utile, ma solo poche volte.

# Eseguire un backup senza indici

giovedì 10 aprile 2008 21.13 by SQL Server e dintorni

Sul newsgroup privato degli MVP sto seguendo da qualche giorno il thread che Greg Linwood ha lanciato

# re: Backup without index data

giovedì 10 aprile 2008 22.57 by abenedetti

Bravo Luca! E' talmente un periodo delirante che non mi ero nemmeno accorto che avesse aperto un thread sul news MVP... vado a leggere :-)