Visão geral de backup (SQL Server)

Cada modelo de recuperação permite o backup integral ou parcial do banco de dados do SQL Server ou de arquivos individuais ou de grupos de arquivos do banco de dados. Não é possível criar backups no nível de tabela.

ObservaçãoObservação

O backup e a restauração do SQL Server funcionam em todos os sistemas operacionais suportados, se forem sistemas de 64 ou 32 bits. Para obter informações sobre os sistemas operacionais com suporte, consulte Requisitos de hardware e software para a instalação do SQL Server 2008.

Backups de dados

O escopo de um backup de dados (um backup de dados) pode ser um banco de dados inteiro, um banco de dados parcial ou um conjunto de arquivos ou grupos de arquivos. Para cada um deles, o SQL Server suporta backups completo e diferencial:

  • Backup completo

    Um backup completo contém todos os dados de um determinado banco de dados ou grupo de arquivos ou arquivos e seu log é suficiente para a recuperação desses dados.

  • Backup diferencial

    Um backup diferencial baseia-se no último backup completo dos dados. Ele é conhecido como a base do diferencial ou a base diferencial. Uma base diferencial é um backup completo de dados de leitura/gravação. Um backup diferencial contém somente os dados alterados na base diferencial. Normalmente, os backups diferenciais feitos logo depois do backup de base são menores e criados com mais rapidez que a base de um backup completo. Portanto, o backup diferencial agiliza o processo de criação de backups freqüentes dos dados para diminuir o risco de perda de dados. Normalmente, uma base diferencial é usada por vários backups diferenciais sucessivos. Na restauração, o backup completo é restaurado primeiro, seguido pelo backup diferencial mais recente.

    Com o passar do tempo, e à medida que o banco de dados é atualizado, a quantidade de dados incluída nos backups diferenciais aumenta. Isso torna mais lentas a criação e a restauração do backup. Por fim, será necessário criar um outro backup completo que será a nova base diferencial para uma nova série de backups diferenciais.

    ObservaçãoObservação

    Normalmente, o backup diferencial contém os mesmos arquivos de dados incluídos em uma mesma base diferencial. Com o modelo de recuperação simples, um backup diferencial pode ter somente uma base diferencial. Tentar usar várias bases causa um erro e a falha da operação de backup. Com o modelo de recuperação completa, os backups diferenciais de arquivos podem usar diversas bases, o que pode ser difícil de administrar. Para obter mais informações, consulte Trabalhando com backups diferenciais multibase.

Cada backup de dados inclui parte do log de transações de forma que o backup possa ser recuperado ao fim desse backup.

Após o primeiro backup de dados, com o modelo de recuperação completa ou bulk-logged, backups de log de transações regulares (ou backups de log) são necessários. Cada backup de log cobre a parte do log de transações que estava ativo quando o backup foi criado e o backup de log inclui todos os registros de log cujo backup não foi feito em um backup de log anterior.

Backups de banco de dados

Os backups de banco de dados são fáceis de usar e são recomendados, não importa o tamanho do banco de dados. O SQL Server suporta os seguintes tipos de backups de banco de dados.

Tipo de backup

Descrição

Backup de banco de dados

Um backup completo do banco de dados inteiro. Backups de banco de dados representam todo o banco de dados no momento em que o backup foi concluído.

Backups diferenciais de bancos de dados

Um backup de todos os arquivos do banco de dados. Esse backup contém apenas as extensões de dados que foram modificadas desde o último backup de banco de dados de cada arquivo.

Backups parciais

Os backups parcial e diferencial foram incluídos no SQL Server 2005. Esses backups foram projetados para proporcionar mais flexibilidade ao backup de bancos de dados que contêm alguns grupos de arquivos somente leitura adotando um modelo de recuperação simples. Contudo, esses backups são suportados por todos os modelos de recuperação.

O SQL Server 2008 suporta os seguintes tipos de backups de arquivo.

Tipo de backup

Descrição

Backup parcial

Um backup de todos os dados do grupo de arquivos principal, todos os grupos de arquivos de leitura/gravação e qualquer arquivo somente leitura ou grupos de arquivos especificado opcionalmente. Um backup parcial de um banco de dados somente leitura contém apenas o grupo de arquivos primário.

Backup diferencial parcial

Um backup que contém apenas as extensões de dados que foram modificadas desde o último backup parcial do mesmo conjunto de grupos de arquivos.

Backups de arquivos

É possível fazer o backup dos arquivos em um banco de dados e depois restaurá-los individualmente. O uso de backups de arquivos pode aumentar a velocidade de recuperação permitindo a restauração somente dos arquivos danificados, sem restaurar o restante do banco de dados. Por exemplo, se um banco de dados for composto por diversos arquivos situados em discos diferentes e um dos discos falhar, somente o arquivo no disco com defeito precisará ser restaurado. No entanto, o planejamento e a restauração de backups de arquivos podem ser complexos; portanto, os backups de arquivos devem ser usados somente quando eles realmente forem úteis ao plano de restauração.

O SQL Server suporta os seguintes tipos de backups de arquivo.

Tipo de backup

Descrição

Backup de arquivo

Um backup completo de todos os dados contidos em um ou mais arquivos ou grupos de arquivos.

Observação importanteImportante
No modelo de recuperação simples, os backups de arquivos são essencialmente restritos a grupos de arquivos secundários somente leitura. É possível criar um backup de arquivos de um grupo de arquivos de leitura/gravação, mas antes de restaurá-lo, você deve definir o grupo de arquivos como somente leitura e fazer um backup de arquivo somente leitura diferencial.

Backups de arquivo diferenciais

Um backup de um ou mais arquivos que contêm as extensões de dados que foram alteradas desde o último backup completo de cada arquivo.

ObservaçãoObservação
Com o modelo de recuperação simples, ele assume que os dados foram alterados para somente leitura desde o backup completo.
ObservaçãoObservação

É possível fazer backup e restaurar catálogos de texto completo. Para obter mais informações, consulte Fazendo backup e restauração de um catálogo de texto completo do SQL Server 2008 e Restauração por etapas e índices de texto completo.

Backups de log de transações (somente para modelos de recuperação completa e de bulk-logged)

Com o modelo de recuperação completa ou bulk-logged, backups de log de transações regulares (ou backups de log) são necessários. Cada backup de log cobre a parte do log de transações que estava ativo quando o backup foi criado e inclui todos os registros de log cujo backup não foi feito em um backup de log anterior. Uma seqüência ininterrupta de backups de log contém a cadeia de logs completa do banco de dados, o qual se diz que foi quebrado. No modelo de recuperação completa, e, às vezes, com o modelo de recuperação bulk-logged, uma cadeia de logs inteira permite a restauração do banco de dados em qualquer momento determinado.

Para poder criar o primeiro backup de log, você deve criar um backup completo, como um backup de banco de dados. Daí em diante, é necessário fazer o backup regular do log de transações, não só para diminuir o risco de perda de trabalho como também para possibilitar o truncamento do log de transações. Para obter mais informações, consulte Trabalhando com backups de log de transações.

Observação importanteImportante

Para limitar o número de backups de log que você precisa restaurar, é essencial fazer backup dos dados com freqüência. Por exemplo, convém programar um backup de banco de dados completo por semana e backups de diferenciais de banco de dados diariamente.

Backups somente cópia

Geralmente, um backup altera o banco de dados e afeta a forma de restauração dos backups posteriores. Contudo, ocasionalmente, é útil fazer um backup para uma finalidade especial sem afetar o backup global e os procedimentos de restauração do banco de dados. Para isso, o SQL Server 2005 introduziu os backups somente cópia. Esses backups são independentes da seqüência regular de backups do SQL Server. Para obter mais informações, consulte Backups somente cópia.

Dispositivos de backup

Os backups do SQL Server são criados em dispositivos de backup, como arquivos em disco ou fita. Você pode acrescentar backups novos a um backup existente em um dispositivo ou substituir os backups existentes. Para obter mais informações, consulte Trabalhando com mídia de backup no SQL Server.

Agendando backups

A execução do backup tem um efeito mínimo sobre as transações em andamento; portanto, as operações de backup podem ser realizadas durante a operação regular. Durante uma operação de backup, o SQL Server copia os dados diretamente dos arquivos de banco de dados para os dispositivos de backup. Os dados não são alterados e as transações que estão em andamento durante o backup não são atrasadas. Portanto, é possível executar um backup no SQL Server com um efeito mínimo sobre as cargas de trabalho de produção. Para obter informações sobre restrições de simultaneidade durante o backup, consulte "Restrições das operações de backup no SQL Server", adiante neste tópico.

É possível agendar a execução automática de backups a intervalos fixos. Para obter informações sobre como agendar backups de banco de dados e log, consulte Assistente de Plano de Manutenção.

Compactação de backup

O SQL Server 2008 Enterprise e as versões posteriores suportam a compactação de backups e todo SQL Server 2008 e versões posteriores são capazes de restaurar um backup compactado. Para obter mais informações, consulte Compactação de backup (SQL Server).

Restrições das operações de backup no SQL Server

No SQL Server 2005 e nas versões posteriores, o backup pode ser realizado com o banco de dados online e em uso. No entanto, existem as seguintes restrições.

Não é possível fazer backup de dados offline

Operações de backup que implícita ou explicitamente fizerem referência a dados offline falharão. Alguns exemplos comuns incluem:

  • Você solicita um backup de banco de dados completo, mas um grupo de arquivos do banco de dados está offline. Como todos os grupos de arquivos são implicitamente incluídos em um backup de banco de dados completo, a operação falhará.

    Para fazer backup desse banco de dados, você pode usar um backup de arquivo e especificar apenas os grupos de arquivos que estão online.

  • Você solicita um backup parcial, mas um grupo de arquivos de leitura/gravação está offline. Como todos os grupos de arquivos de leitura/gravação são requeridos para um backup parcial, a operação falhará.

  • Você solicita um backup de arquivo de arquivos específicos, mas um dos arquivos não está online. A operação falhará. Para fazer backup dos arquivos online, você pode omitir o arquivo offline da lista de arquivos e repetir a operação.

Normalmente, um backup de log será realizado com êxito mesmo se um ou mais arquivos de dados estiverem indisponíveis. Entretanto, se algum arquivo contiver alterações bulk-logged feitas sob o modelo de recuperação bulk-logged, todos os arquivos devem estar online para a realização do backup.

Restrições de simultaneidade durante o backup

O SQL Server usa um processo de backup online para permitir que um backup de banco de dados seja feito com o banco de dados em uso. Durante um backup, é possível executar a maior parte das operações. Por exemplo, instruções INSERT, UPDATE ou DELETE são permitidas durante uma operação de backup. Contudo, se você tentar iniciar uma operação de backup enquanto um arquivo do banco de dados estiver sendo criado ou excluído, a operação de backup aguardará até a conclusão dessa operação ou até o tempo limite do backup.

Operações que não podem ser executadas durante um backup de banco de dados ou de log de transações incluem:

  • Operações de gerenciamento de arquivos, como a instrução ALTER DATABASE com as opções ADD FILE ou REMOVE FILE.

  • Operações de redução do banco de dados ou de arquivos. Isso inclui operações de redução automática.

  • Se você tentar criar ou excluir um arquivo de banco de dados enquanto houver uma operação de backup em andamento, a operação de criação ou exclusão falhará.

Se uma operação de backup for sobreposta por uma operação de gerenciamento de arquivos ou de redução, ocorrerá um conflito. Independentemente de qual operação conflitante começou primeiro, a segunda operação aguardará até que o bloqueio definido para a primeira operação seja esgotado. (O tempo limite é controlado por uma configuração de tempo limite da sessão.) Se o bloqueio for liberado durante o período de tempo limite, a segunda operação continuará. Se o tempo limite do bloqueio for esgotado, a segunda operação falhará.

ObservaçãoObservação

Para obter mais informações sobre como criar backups, consulte Criando backups completos e diferenciais de um banco de dados do SQL Server e Trabalhando com backups de log de transações.