O Backup do Windows Server não se destina a ser uma ferramenta de backup para o SQL Server.
... No entanto, o design o torna especialmente adequado para organizações menores ou indivíduos que não são profissionais de TI ...
Citação da seção Guia passo a passo do Windows Server Backup para Windows Server 2008 : "Quem deve usar o Backup do Windows Server?"
A seção que você citou está basicamente dizendo que, quando o Backup do Windows Server é iniciado, ele aciona o recurso VSS no Windows. O SQL Server estará ciente de que uma cópia de sombra de volume está ocorrendo e, com a ajuda do serviço SQL Server Writer, garantirá que uma cópia dos arquivos do banco de dados (* .mdf, * .ndf, * .ldf) possa ser executada.
A finalidade do serviço SQL Server Writer é definida da seguinte maneira:
Ao executar, o Mecanismo de Banco de Dados bloqueia e tem acesso exclusivo aos arquivos de dados. Quando o SQL Writer Service não está em execução, os programas de backup em execução no Windows não têm acesso aos arquivos de dados e os backups devem ser executados usando o backup do SQL Server.
Use o SQL Writer Service para permitir que programas de backup do Windows copiem arquivos de dados do SQL Server enquanto o SQL Server estiver em execução.
Citação da seção Serviço SQL Writer : "Finalidade"
Então isso é basicamente tudo o que acontece com o Backup do Windows Server.
Os backups criados com o Backup do Windows Server enquanto o SQL Server está em execução devem ser consistentes, mas as transações ainda não gravadas no disco não estão na Cópia de Sombra do Volume. A captura instantânea do banco de dados foi obtida enquanto estava ONLINE.
No entanto, o artigo do MSDN Backups de instantâneo afirma:
Somente os seguintes tipos de backup podem ser backups de captura instantânea:
- Backups completos
- Backups parciais
- Backups de arquivos
- Backups diferenciais do banco de dados. Eles são suportados apenas quando o fornecedor usa a interface VSS.
e adicionalmente:
Exceto conforme observado anteriormente neste tópico, os backups de captura instantânea são funcionalmente equivalentes aos backups convencionais correspondentes. Você pode usar backups de captura instantânea em sequências de restauração com backups completos sem captura instantânea, backups diferenciais e backups de log. Como outros backups, os backups de captura instantânea são rastreados no banco de dados msdb, em que os backups de captura instantânea são identificados por backupset.is_snapshot = 1. Para obter mais informações sobre o msdb, consulte Banco de dados msdb.
O SQL Server não oferece suporte à restauração online de um backup de instantâneo. A restauração de um backup de captura instantânea coloca automaticamente o banco de dados offline. Uma restauração fragmentada pode incorporar backups de captura instantânea, mas todas as seqüências de restauração são restaurações offline. Para obter mais informações sobre restaurações fragmentadas, consulte Executando restaurações fragmentadas.
Para responder suas perguntas:
- Eu só preciso fazer backup do arquivo .mdf? O .mdf e o .ldf?
- Online ou apenas offline?
- Qual é o procedimento oficial para restaurar bancos de dados do SQL Server com backup dessa maneira?
- Há algo especial a considerar ao fazer backups incrementais / diferenciais?
- Onde tudo isso está documentado?
Respostas:
- Sim, você pode fazer uma cópia do Windows Server Backup (VSS) dos arquivos .mdf e .ldf. O backup deve ser consistente, mas o banco de dados será OFFLINE após uma restauração.
- Se o SQL Server for parado / o banco de dados for desanexado / o banco de dados estiver OFFLINE, uma cópia do VSS dos arquivos .mdf e .ldf será 100% consistente.
- Não tenho certeza de como restaurar um banco de dados (para um momento específico) realizado com o Backup do Windows Server, porque o banco de dados é restaurado no estado OFFLINE. Um banco de dados no estado OFFLINE não pode mais ser restaurado / recuperado e colocar o banco de dados ONLINE resulta em um banco de dados considerado totalmente recuperado. Eu recomendaria backups completos, DIFF e TLOG do SQL Server separados para garantir que você possa executar uma restauração do banco de dados em um determinado momento.
- Os logs de transações não fazem parte dos instantâneos criados com o Backup do Windows Server e devem ser executados adicionalmente. Instantâneos diferenciais são suportados por fornecedores terceirizados como parte da sequência de backup, mas o Backup do Windows Server não parece capaz de executar backups diferenciais. Nesse caso, você também teria que executar backups diferenciais adicionais. (ver 3.)
- Referências diferentes
Explicado na implementação da vida real
Em nosso ambiente, temos uma situação semelhante em que a VMware está realizando um instantâneo e os DBAs estão realizando despejos do SQL Server com o Commvault. O histórico de backup é assim:
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
O instantâneo VMware criará uma entrada nas tabelas de histórico do banco de dados MSDB com IS_SNAPSHOT = 1
e FULL
para cada instantâneo VMware realizado (diariamente). Os backups nativos (bem do Commvault usando nativos) do SQL Server são realizados usando backups COMPLETOS, DIFF e TLOG. Esses backups não são marcados como IS_SNAPSHOT e existem como entradas adicionais CHEIO (uma vez por semana), DIFF (todos os dias) e LOG (a cada hora) nas tabelas de backup no banco de dados msdb.
Com essa configuração, podemos executar uma restauração para a data e hora do instantâneo e, em seguida, colocar o banco de dados ONLINE, ou podemos executar uma restauração individual para qualquer momento usando os backups "nativos" do SQL Server.