Come posso eseguire il backup di un database SQL Server utilizzando Windows Server Backup?


11

Apparentemente Windows Server Backup ha un po 'di supporto per il backup dei database di SQL Server:

Capacità di recuperare applicazioni. Windows Server Backup utilizza la funzionalità VSS integrata in applicazioni come Microsoft® SQL Server® per proteggere i dati delle applicazioni. [Fonte: TechNet ]

Inoltre, le persone segnalano che Windows Server Backup sembra attivare una sorta di operazione di backup in SQL Server .

Tuttavia, non riesco a trovare la documentazione (ufficiale) su come eseguire esattamente il backup dei database di SQL Server utilizzando Windows Server Backup.

  • Devo solo fare il backup del .mdf? Il .mdfe il .ldf?
  • Online o offline?
  • Qual è la procedura ufficiale per ripristinare i database di SQL Server sottoposti a backup in questo modo?
  • C'è qualcosa di speciale da considerare quando si eseguono backup incrementali / differenziali?
  • Dove è tutto questo documentato?

(So ​​come fare i backup con i piani di manutenzione di SQL Server sqlmaint.exe, T-SQL BACKUP e SQL Server Agent. Sono solo interessato all'alternativa che offre Windows Server Backup (apparentemente?).)


Quale versione di Windows Server e quale versione di SQL Server?
pauska,

@pauska: Personalmente, sarei interessato a Windows Server 2012 R2 e SQL Server 2012. (Tengo deliberatamente la domanda più generale per renderla più utile agli altri.)
Heinzi,

1
Ho un Windows Server 2008 che sta eseguendo un backup completo. Per quanto ne so, sta estraendo i database da SQL Server Express come parte del suo backup completo, poiché ogni database dice che è stato eseguito il backup dell'ultimo backup nel momento in cui quel backup viene eseguito. Questo mi ha confuso, dal momento che sto cercando di capire come sono riuscito a fare il backup di questi database, dal momento che non riesco a trovare uno script che lo fa da nessuna parte. Penso che scriverò una sceneggiatura per farlo comunque, in modo da sapere che funziona e sapere esattamente cosa ho.
Dave Cousineau,

Risposte:


5

Windows Server Backup non è inteso come uno strumento di backup per SQL Server.

... Tuttavia, il design lo rende particolarmente adatto per le organizzazioni o gli individui più piccoli che non sono professionisti IT ...

Citazione dalla guida dettagliata di Windows Server Backup per la sezione Windows Server 2008 : "Chi dovrebbe utilizzare Windows Server Backup?"

La sezione che hai citato in sostanza dice che quando si avvia Windows Server Backup, si attiva la funzionalità VSS in Windows. SQL Server saprà che si sta verificando una copia shadow del volume e, con l'aiuto del servizio SQL Server Writer, assicurerà che sia possibile eseguire una copia dei file del database (* .mdf, * .ndf, * .ldf).

Lo scopo del servizio SQL Server Writer è definito come segue:

Durante l'esecuzione, Motore di database si blocca e ha accesso esclusivo ai file di dati. Quando il servizio SQL Writer non è in esecuzione, i programmi di backup in esecuzione in Windows non hanno accesso ai file di dati e i backup devono essere eseguiti utilizzando il backup di SQL Server.

Utilizzare il servizio SQL Writer per consentire ai programmi di backup di Windows di copiare i file di dati di SQL Server mentre SQL Server è in esecuzione.

Citazione dalla sezione Servizio SQL Writer : "Scopo"

Questo è fondamentalmente tutto ciò che accade con Windows Server Backup.

I backup creati con Windows Server Backup mentre SQL Server è in esecuzione dovrebbero essere coerenti, ma le transazioni non ancora scritte sul disco non si trovano nella copia shadow del volume. L'istantanea del database è stata scattata mentre era ONLINE.

Tuttavia, l'articolo MSDN Backup snapshot afferma:

Solo i seguenti tipi di backup possono essere backup di istantanee:

  • Backup completi
  • Backup parziali
  • Backup dei file
  • Backup differenziali del database. Questi sono supportati solo quando il fornitore utilizza l'interfaccia VSS.

e inoltre:

Ad eccezione di quanto osservato in precedenza in questo argomento, i backup di istantanee sono funzionalmente equivalenti ai corrispondenti backup convenzionali. È possibile utilizzare i backup di snapshot in sequenze di ripristino con backup completi non di snapshot, backup differenziali e backup dei log. Come altri backup, i backup di snapshot sono tracciati nel database msdb, dove i backup di snapshot sono identificati da backupset.is_snapshot = 1. Per ulteriori informazioni su msdb, consultare Database msdb.

SQL Server non supporta il ripristino online da un backup di istantanee. Il ripristino di un backup di snapshot porta automaticamente il database offline. Un ripristino a fasi può incorporare backup di istantanee, ma tutte le sequenze di ripristino sono ripristini offline. Per ulteriori informazioni sui ripristini a pezzi, consultare Esecuzione di ripristini a pezzi.

Per rispondere alle tue domande:

  • Devo solo fare il backup del .mdf? Il .mdf e il .ldf?
  • Online o offline?
  • Qual è la procedura ufficiale per ripristinare i database di SQL Server sottoposti a backup in questo modo?
  • C'è qualcosa di speciale da considerare quando si eseguono backup incrementali / differenziali?
  • Dove è tutto questo documentato?

risposte:

  1. Sì, è possibile eseguire una copia di Windows Server Backup (VSS) dei file .mdf e .ldf. Il backup dovrebbe essere coerente, ma il database sarà OFFLINE dopo un ripristino.
  2. Se SQL Server viene arrestato / il database viene rimosso / il database è OFFLINE, una copia VSS dei file .mdf e .ldf è coerente al 100%.
  3. Non sono sicuro di come ripristinare un database (in un punto temporale) condotto con Windows Server Backup, poiché il database viene ripristinato in uno stato OFFLINE. Un database nello stato OFFLINE non può più essere ripristinato / ripristinato e portando i risultati ONLINE del database in un database considerato come completamente recuperato. Vorrei raccomandare backup SQL Server FULL, DIFF e TLOG separati per assicurarsi che sia possibile eseguire un ripristino del database in un punto temporale.
  4. I registri delle transazioni non fanno parte delle istantanee create con Windows Server Backup e devono essere eseguiti in aggiunta. Le istantanee differenziali sono supportate da fornitori di terze parti come parte della sequenza di backup, ma Windows Server Backup non sembra essere in grado di eseguire backup differenziali. In questo caso dovresti anche eseguire backup differenziali aggiuntivi. (vedi 3.)
  5. Riferimenti diversi

Spiegato nella realizzazione nella vita reale

Nel nostro ambiente abbiamo una situazione simile in cui VMware sta eseguendo un'istantanea e i DBA stanno conducendo i dump di SQL Server con Commvault. La cronologia dei backup è simile alla seguente:

DBNAME  TYPE BACKUPSET_NAME            IS_SNAPSHOT BACKUP_START_DATE        
------- ---- ------------------------- ----------- -----------------------  
DB_NAME  Full  NULL                    1           2016-12-10 18:23:59.000  
DB_NAME  Full  CommVault Galaxy Backup 0           2016-12-10 20:07:41.000  
DB_NAME  Log   CommVault Galaxy Backup 0           2016-12-11 06:00:40.000  
DB_NAME  Full  NULL                    1           2016-12-11 18:24:00.000  
DB_NAME  Diff  CommVault Galaxy Backup 0           2016-12-11 20:03:38.000  
DB_NAME  Log   CommVault Galaxy Backup 0           2016-12-12 06:02:29.000  
DB_NAME  Log   CommVault Galaxy Backup 0           2016-12-12 07:02:17.000  

Lo snapshot VMware creerà una voce nelle tabelle della cronologia del database MSDB con IS_SNAPSHOT = 1e FULLper ogni snapshot VMware che viene condotto (quotidianamente). I backup nativi (ben commvault che utilizzano nativi) SQL Server vengono condotti utilizzando backup FULL, DIFF e TLOG. Questi backup non sono contrassegnati come IS_SNAPSHOT ed esistono come voci FULL (una volta a settimana), DIFF (a giorni alterni) e LOG (ogni ora) aggiuntive nelle tabelle di backup nel database msdb.

Con questa configurazione, è possibile eseguire un ripristino della data-ora dell'istantanea e quindi portare il database ONLINE oppure eseguire un singolo ripristino su qualsiasi punto temporale utilizzando i backup "nativi" di SQL Server.


1

Non puoi. O almeno probabilmente non dovresti. Per quanto riguarda i database SQL Server, i backup nativi sono il metodo supportato.

Penso che potresti fraintendere quello che dice l'articolo TechNet. Il commento citato non indica che è possibile utilizzare il backup di Windows Server per i database di SQL Server. In realtà sta solo evidenziando che il backup di Windows Server utilizza lo stesso servizio Copia Shadow del volume utilizzato da SQL Server. Ulteriori informazioni: TechNet: SQL Writer Service


So che non dovrei - non affiderei i miei dati a una funzionalità così scarsamente documentata. Eppure, io sono curioso di sapere se è possibile, in teoria: SQL Server non fornire un writer VSS, e Windows Server Backup è un richiedente VSS, quindi lascio la domanda aperta per ora. Forse è solo una questione di abbinamento di quei due (ci sono, ad esempio, istruzioni online su come farlo per il writer VSS Hyper-V ).
Heinzi,

1
A quanto pare, Windows Server Backup non innescare una sorta di backup del server SQL, vedere questo quesiton .
Heinzi,

1

Il backup SQL non solo copia i dati, ma tronca anche il registro. Puoi trovare centinaia di opzioni nella pagina man che ti aiuteranno, come comprimere il file di backup al volo.

Ricordo che il backup vss è stato usato per copiare una macchina virtuale congelata o per eseguire lo snapshot di un lun su una SAN al fine di eseguire il backup di un'immagine statica, ma il backup sarà "crash coerente" proprio come l'interruzione dell'alimentazione e non molto coerente.

Relazionato


0

Io penso che utilizza un tipo di backup speciale chiamato "Snapshot Backup".

Dalla documentazione di SQL Server 2008:

Il backup dell'istantanea di SQL Server viene utilizzato anche dal servizio Copia Shadow del volume (VSS) di Microsoft Windows Server 2003 e da tutto il software di backup e software di archiviazione che utilizza questo framework. Per ulteriori informazioni, consultare SQL Writer Service.

Per me non è molto chiaro. Soprattutto se questo tronca o meno i registri delle transazioni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.