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:
- 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.
- Se SQL Server viene arrestato / il database viene rimosso / il database è OFFLINE, una copia VSS dei file .mdf e .ldf è coerente al 100%.
- 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.
- 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.)
- 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 = 1
e FULL
per 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.