Arquivos e grupos de arquivos de backup

Aplica-se a:SQL Server

Este tópico descreve como fazer backup de arquivos e grupos de arquivos no SQL Server usando SQL Server Management Studio, Transact-SQL ou PowerShell. Quando o tamanho de banco de dados e exigências de desempenho tornarem um backup de banco de dados completo impraticável, então você poderá criar um backup de arquivo. Um backup de arquivo contém todos os dados em um ou mais arquivos (ou grupos de arquivos).

Para obter mais informações sobre backups de arquivos, veja Backups completos de arquivos (SQL Server) e Backups diferenciais (SQL Server).

Antes de começar

Limitações e Restrições

  • A instrução BACKUP não é permitida em uma transação explícita ou implícita.

  • No modelo de recuperação simples, o backup deve ser feito em todos os arquivos de leitura/gravação juntos. Isso ajuda a assegurar que o banco de dados possa ser restaurado até um momento determinado consistente. Em vez de especificar cada arquivo ou grupo de arquivos de leitura/gravação individualmente, use a opção de READ_WRITE_FILEGROUPS. Esta opção efetua backup de todos os grupos de arquivos de leitura/gravação no banco de dados. Um backup que é criado especificando READ_WRITE_FILEGROUPS é conhecido como um backup parcial. Confira Backups parciais (SQL Server).

Para obter mais informações sobre limitações e restrições, veja Visão geral do backup (SQL Server).

Recomendações

Por padrão, toda operação de backup bem-sucedida acrescenta uma entrada ao log de erros do SQL Server e ao log de eventos do sistema. Se você fizer backup do log com muita frequência, essas mensagens de êxito serão acumuladas muito rapidamente, resultando em logs de erros imensos que podem dificultar a localização de outras mensagens. Nesses casos, suprima essas entradas de log usando o sinalizador de rastreamento 3226 se nenhum dos scripts depender dessas entradas. Confira Sinalizadores de rastreamento (Transact-SQL).

Permissões

As permissões BACKUP DATABASE e BACKUP LOG usam como padrão os membros da função de servidor fixa sysadmin e as funções de banco de dados fixas db_owner e db_backupoperator.

Os problemas de propriedade e permissão no arquivo físico do dispositivo de backup podem interferir em uma operação de backup. SQL Server deve ser capaz de ler e gravar no dispositivo; a conta sob a qual o serviço do SQL Server executa deve ter permissões de gravação. No entanto, sp_addumpdevice, que adiciona uma entrada para um dispositivo de backup nas tabelas do sistema, não verifica permissões de acesso a arquivos. Esses problemas no arquivo físico do dispositivo de backup podem não aparecer até que o recurso físico seja acessado quando o backup ou restauração é tentado.

Como usar o SQL Server Management Studio.

  1. Depois de se conectar à instância apropriada do Mecanismo de Banco de Dados do SQL Server, em Pesquisador de Objetos, clique no nome do servidor para expandir a árvore do servidor.

  2. Expanda Bancos de Dadose, dependendo do banco de dados, selecione um banco de dados de usuário ou expanda Bancos de Dados do Sistema e selecione um banco de dados do sistema.

  3. Clique com o botão direito do mouse no banco de dados, aponte para Tarefase clique em Backup. Será exibida a caixa de diálogo Backup de Banco de Dados .

  4. Na lista Banco de Dados , verifique o nome do banco de dados. Você pode, como opção, selecionar um banco de dados diferente da lista.

  5. Na lista Tipo de backup , selecione Completo ou Diferencial.

  6. Para a opção Componente de backup , clique em Arquivo e Grupos de Arquivo.

  7. Na caixa de diálogo Selecionar Arquivos e Grupos de Arquivos , selecione os arquivos e os grupos de arquivos a serem incluídos no backup. É possível selecionar um ou mais arquivos individuais ou marcar a caixa para um grupo de arquivos para selecionar automaticamente todos os arquivos nesse grupo.

  8. Aceite o nome do conjunto de backup padrão sugerido na caixa de texto Nome ou digite um nome diferente para o conjunto de backup.

  9. (opcional) Na caixa de texto Descrição, insira uma descrição do conjunto de backup.

  10. Especifique quando o conjunto de backup irá expirar:

    • Para que o conjunto de backup expire após um número específico de dias, clique em Depois (a opção padrão) e insira o número de dias após a criação do conjunto que ele deverá expirar. Esse valor pode ser de 0 a 99999 dias; 0 dia significa que o conjunto de backup nunca vai expirar.

      O valor padrão é definido na opção Retenção de mídia de backup padrão (em dias) da caixa de diálogo Propriedades do Servidor (páginaConfigurações do Banco de Dados ). Para acessar essa opção, clique com o botão direito do mouse no nome do servidor no Pesquisador de Objetos, selecione propriedades e a página Configurações do Banco de Dados .

    • Para que o conjunto de backup expire em uma data específica, clique no campo Eme digite a data de expiração do conjunto.

  11. Escolha o tipo do destino de backup clicando em Disco ou Fita. Para selecionar os caminhos de até 64 unidades de disco ou fita que contêm um único conjunto de mídias, clique em Adicionar. Os caminhos selecionados são exibidos na lista Fazer backup em .

    Observação

    Para remover um destino de backup, selecione-o e clique em Remover. Para exibir o conteúdo de um destino de backup, selecione-o e clique em Conteúdo.

  12. Para exibir ou selecionar as opções avançadas, clique em Opções no painel Selecionar uma página .

  13. Selecione uma opção Substituir Mídia , com um clique em uma das opções a seguir:

    • Fazer backup no conjunto de mídias existente

      Para essa opção, clique em Anexar ao conjunto de backup existente ou Substituir todos os conjuntos de backup existentes.

      Para obter informações sobre como fazer backup de um conjunto de mídias existente, veja Conjuntos de mídias, famílias de mídia e conjuntos de backup (SQL Server).

      • (opcional) Selecione Verificar nome do conjunto de mídias e expiração do conjunto de backup para que a operação de backup verifique a data e a hora em que o conjunto de mídias e o conjunto de backup expiram.

      • (opcional) Insira um nome na caixa de texto Nome do conjunto de mídias. Se nenhum nome for especificado, um conjunto de mídias com um nome em branco será criado. Se você especificar um nome do conjunto de mídias, a mídia (fita ou disco) será verificada para conferir se o nome real corresponde ao nome inserido aqui.

      Se você deixar o nome da mídia em branco e marcar a caixa para verificar a mídia, a verificação terá sucesso se o nome da mídia também estiver em branco na mídia.

    • Fazer backup em um novo conjunto de mídias e apagar todos os conjuntos de backup existentes

      Para essa opção, digite um nome na caixa de texto Nome do novo conjunto de mídias e, opcionalmente, descreva o conjunto de mídias na caixa de texto Descrição do novo conjunto de mídias .

      Para obter mais informações sobre como criar um novo conjunto de mídias, veja Conjuntos de mídias, famílias de mídia e conjuntos de backup (SQL Server).

  14. (opcional) Na seção Confiabilidade, marque:

  15. Se o backup estiver sendo feito em uma unidade de fita (conforme especificado na seção Destino da página Geral ), a opção Descarregar a fita após o backup estará ativa. O clique nessa opção habilita a opção Rebobinar a fita antes de descarregar .

    Observação

    As opções na seção Log de transações estarão inativos exceto se o backup estiver sendo feito em um log de transações (como especificado na seção Tipo de backup da página Geral ).

  16. O SQL Server 2008 (10.0.x) Enterprise e versões posteriores são compatíveis com a compactação de backup. Por padrão, a compactação de um backup depende do valor da opção de configuração de servidor padrão de compactação de backup. Porém, independentemente do padrão atual do nível do servidor, é possível compactar um backup, marcando a opção Compactar backupe evitar a compactação marcando Não compactar o backup.

    Para exibir o padrão de compactação de backup atual, confira Exibir ou configurar a opção de configuração de servidor backup compression default

Usando o Transact-SQL

Para criar um backup de arquivo ou grupo de arquivos, use a instrução BACKUP DATABASE <file_or_filegroup>. Minimamente, essa instrução deve especificar o seguinte:

  • Nome do banco de dados.

  • Uma cláusula FILE ou FILEGROUP para cada arquivo ou grupo de arquivos, respectivamente.

  • O dispositivo de backup em que o backup completo será gravado.

A sintaxe Transact-SQL básica para um backup de arquivo é:

BACKUP DATABASE database

{ FILE =logical_file_name | FILEGROUP =logical_filegroup_name } [ ,...f ]

TO backup_device [ ,...n ]

[ WITH com_opções [ ,...o ] ] ;

Opção Descrição
database É o banco de dados do qual é feito o backup do log de transações, do banco de dados parcial ou do banco de dados completo.
FILE =logical_file_name Especifica o nome lógico de um arquivo a ser incluído no backup de arquivos.
FILEGROUP =logical_filegroup_name Especifica o nome lógico de um grupo de arquivos que será incluído no backup de arquivos. No modelo de recuperação simples, um backup de grupo de arquivos é permitido apenas para grupos de arquivos somente leitura.
[ ,...f ] É um espaço reservado que indica que vários arquivos e grupos de arquivos podem ser especificados. O número de arquivos ou grupos de arquivos é ilimitado.
backup_device [ ,...n ] Especifica uma lista de 1 a 64 dispositivos de backup a serem usados para a operação de backup. Você pode especificar um dispositivo de backup físico ou pode especificar um dispositivo de backup lógico correspondente, se já definido. Para especificar um dispositivo de backup físico, use a opção DISK ou TAPE:

{ DISK | TAPE } =physical_backup_device_name

Para obter mais informações, confira Dispositivos de backup (SQL Server).
WITH with_options [ ,...o ] Opcionalmente, especifica uma ou mais opções adicionais, como DIFFERENTIAL. um backup de arquivo diferencial exige um backup de arquivo completo como base.

Para obter mais informações, veja Criar um backup diferencial de banco de dados (SQL Server).

No modelo de recuperação completa, você deverá também efetuar backup do log de transações. Para usar um conjunto inteiro de backups de arquivo completos para restaurar um banco de dados, você deverá também ter suficientes backups de log para abranger todos os backups de arquivo, desde o início do primeiro backup de arquivo.

Para obter mais informações, confira Fazer backup de um log de transações (SQL Server).

Exemplos

Os exemplos seguintes fazem backup de um ou mais arquivos dos grupos de arquivos secundários do banco de dados Sales . Esse banco de dados usa o modelo de recuperação completa e contém os seguintes grupos de arquivos secundários:

  • Um grupo de arquivo nomeado SalesGroup1 que tem os arquivos SGrp1Fi1 e SGrp1Fi2.

  • Um grupo de arquivo nomeado SalesGroup2 que tem os arquivos SGrp2Fi1 e SGrp2Fi2.

R. Criar um backup de arquivo de dois arquivos

O exemplo a seguir cria um backup diferencial de arquivo só do arquivo SGrp1Fi2 do SalesGroup1 e o arquivo SGrp2Fi2 do grupo de arquivos SalesGroup2 .

--Backup the files in the SalesGroup1 secondary filegroup.  
BACKUP DATABASE Sales  
   FILE = 'SGrp1Fi2',   
   FILE = 'SGrp2Fi2'   
   TO DISK = 'G:\SQL Server Backups\Sales\SalesGroup1.bck';  
GO  

B. Criar um backup completo de arquivos dos grupos de arquivos secundários

O exemplo a seguir cria um backup de arquivo completo de todos os arquivos dos dois grupos de arquivos secundários.

--Back up the files in SalesGroup1.  
BACKUP DATABASE Sales  
   FILEGROUP = 'SalesGroup1',  
   FILEGROUP = 'SalesGroup2'  
   TO DISK = 'C:\MySQLServer\Backups\Sales\SalesFiles.bck';  
GO  

C. Criar um backup diferencial de arquivos dos grupos de arquivos secundários

O exemplo a seguir cria um backup diferencial de cada arquivo nos dois grupos de arquivos secundários.

--Back up the files in SalesGroup1.  
BACKUP DATABASE Sales  
   FILEGROUP = 'SalesGroup1',  
   FILEGROUP = 'SalesGroup2'  
   TO DISK = 'C:\MySQLServer\Backups\Sales\SalesFiles.bck'  
   WITH   
      DIFFERENTIAL;  
GO  

Usando o PowerShell

Configure e use o Provedor do SQL Server PowerShell.

Use o cmdlet Backup-SqlDatabase e especifique Files como valor do parâmetro -BackupAction . Além disso, especifique um dos seguintes parâmetros:

  • Para fazer backup de um arquivo específico, especifique o parâmetro -DatabaseFileString , em que String contém um ou mais arquivos de banco de dados para fazer backup.

  • Para fazer backup de todos os arquivos de determinado grupo de arquivos, especifique o parâmetro -DatabaseFileGroupString , em que String contém um ou mais grupos de arquivos de banco de dados para fazer backup.

O exemplo a seguir cria um backup de arquivo completo de todos os arquivos dos grupos de arquivos secundários 'FileGroup1' e 'FileGroup2' no banco de dados <myDatabase> . Os backups são criados no local de backup padrão da instância do servidor Computer\Instance.

Backup-SqlDatabase -ServerInstance Computer\Instance -Database <myDatabase> -BackupAction Files -DatabaseFileGroup "FileGroup1","FileGroup2" 

Confira também

Backup Overview (SQL Server)
BACKUP (Transact-SQL)
RESTORE (Transact-SQL)
Informações de histórico e cabeçalho de backup (SQL Server)
Fazer backup do banco de dados (página Geral)
Fazer backup do banco de dados (página Opções de Backup)
Backups completos de arquivos (SQL Server)
Backups diferenciais (SQL Server)
Restaurações de arquivo (modelo de recuperação completa)
Restaurações de arquivos (modelo de recuperação simples)