Backup del database


2

Ho 10 GB di RDBMS (SQL Server).Vorrei fare il backup il più spesso possibile, ma sembra che avrò bisogno di un sacco di spazio per farlo accadere nell'ordine di più volte al giorno.

Quanto spesso è ragionevole eseguire il backup di un DB di queste dimensioni?Come vengono normalmente archiviati i backup?

Ho esaminato Amazon S3 e mi sto chiedendo quanto sia comune per le persone utilizzare un servizio come questo per fare i loro backup DB?

  0

Sono d'accordo con Thoreau, tuttavia dal momento che hai detto che volevi il maggior numero possibile di backup, potresti voler eseguire backup incrementali/differenziali più spesso come ogni 2-6 ore a seconda delle tue esigenze 14 set. 112011-09-14 15:22:23

1

Con quale versione di SQL stai lavorando?Cosa significa "il più spesso possibile"?Perchè vuoi fare questo?

Non è necessario eseguire backup completi.Puoi fare una volta a settimana pieno e un differenziale ogni notte.Con t-sql o SSMS è possibile eliminare automaticamente i backup dopo n-numero di giorni, mantenendo così i backup accurati e in ordine.

Più spesso possibile?Perché non eseguire backup del log delle transazioni ogni 5 minuti, quindi eliminarli ogni 5 giorni?

:: Ho aggiunto altre domande ::


4

Penso che la domanda principale non sia la frequenza con cui altre persone eseguono il backup dei loro database, ma quale livello di perdita accetterà la tua azienda.Se il tuo server muore, sarà felice di tornare a un file di backup da 24 ore o ne avrà bisogno uno da un'ora fa?

Tutti i nostri database di produzione eseguono un backup completo una volta al giorno, quindi eseguono i backup del log delle transazioni ogni ora.Nel caso di un fallimento completo, il nostro scenario peggiore è che perdiamo un'ora di dati (anche se in realtà utilizziamo il mirroring del database per proteggerci anche contro questo).I backup del registro delle transazioni offrono anche la possibilità di eseguire ripristini point-in-time: http://msdn.microsoft.com/en-us/library/ms179451.aspx

Un altro fattore è il modello di recupero del database: se ci si trova in modalità di ripristino completo, sono necessari backup del log delle transazioni per impedire che il log delle transazioni diventi ingestibile.Al contrario, se si utilizza il ripristino semplice, i backup del log delle transazioni non sono un'opzione.

Questo è un buon punto di partenza: http://msdn.microsoft.com/en-us/library/ms191239.aspx

Spero che sia d'aiuto...


1

Diciamo che hai uno scenario di business comune con il tuo tempo occupato: 9-17 del lunedì-venerdì.Quindi suggerirei: backup completo alla domenica sera.Backup differenziali alle 8:00, alle 18:00 e alle 1:00 (per ridurre i tempi di recupero).Registra i backup ogni ora o in base alle esigenze della tua azienda.

A seconda del periodo di conservazione, è necessario disporre di un processo di pulizia automatica per cancellare i vecchi file di backup.

È necessario archiviare i backup su una qualche forma di disco ridondante (con mirroring).

Se utilizzi Amazon S3, dovrai pagare per la larghezza di banda, l'archiviazione e le richieste get/put.Quindi c'è un'ulteriore complicazione se il tuo database memorizza i dati sensibili.È possibile invece ottenere un'unità esterna o un dispositivo NAS e archiviare i backup su questi.Il prezzo non dovrebbe essere un problema in quanto il disco è economico.


5

Sembra che tu non capisca come funzionano i backup in SQL Server.Esistono tre diversi tipi di backup in SQL Server.

FULL: i backup completi del database eseguono il dump dell'intero database e del log delle transazioni attivo in un singolo file (o strip, ma consente di ignorare questa funzionalità per ora) sul disco.

DIFFERENZIALE - I backup differenziali del database eseguono il backup di tutti i dati che sono stati modificati dall'ultimo backup completo a un file di backup.Per ripristinare da un backup differenziale, è necessario disporre del backup completo che è stato eseguito prima che il backup differenziale fosse preso.

LOG - Registra backup di backup solo i dati che sono attualmente nel log delle transazioni.I backup del registro ti danno la possibilità di ripristinare il database in un momento specifico (ad esempio se qualcuno ha abbandonato un tavolo che potresti ripristinare in un punto, basta ripristinare la tabella e recuperare tutti i dati da quella tabella).I backup LOG richiedono che il database sia in modalità di ripristino FULL o BULK_LOGGED.Per ripristinare i backup del log, è necessario eseguire il backup completo più recente prima del backup del log che si desidera ripristinare, opzionalmente il backup differenziale tra il backup completo e il backup del registro e tutti i backup del log tra il backup completo o differenziale e l'ultimo file di registro che si desidera ripristinare.

Da quello che hai descritto sembra che devi perdere meno dati possibile.È necessario modificare la modalità di ripristino su FULL o BULK_LOGGED (FULL è ciò che viene selezionato dalla maggior parte delle persone) e quindi configurare backup completi giornalieri e backup dei registri delle transazioni ogni pochi minuti.La frequenza con cui si eseguono i backup del registro dipenderà dalla quantità di dati che è possibile consentire di perdere.L'azienda dovrebbe essere quella che imposta questo numero, non tu.Non è raro eseguire backup di log ogni 10-15 minuti a seconda dei requisiti.

Dopo aver configurato i backup, ti consigliamo di configurare qualcosa per eliminare i file dopo un certo numero di giorni (a seconda dei requisiti aziendali e di quanto spazio puoi permetterti di archiviare).

Dovrai eseguire il backup dei database su un server in un'altra zona di disponibilità EC2 in modo che se si ripresenta un'interruzione di Amazon da prima quest'anno, i tuoi dati di backup sono ancora al sicuro.

Potrebbe valerne la pena portare un consulente per un'ora o due per assicurarsi che i backup siano eseguiti correttamente.Se non sono fatti bene, ora è il momento di capirlo, non quando il sistema ha fallito.