Fazer backup de arquivos e de grupos de arquivos (SQL Server)
Este tópico descreve como fazer backup de arquivos e grupos de arquivos no SQL Server 2014 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 arquivo, consulte Backups completos de arquivos (SQL Server) e Backups Diferenciais (SQL Server).
Neste tópico
Antes de começar:
Para fazer backup de arquivos e grupos de arquivos, usando:
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 criado especificando READ_WRITE_FILEGROUPS é conhecido como um backup parcial. Para obter mais informações, consulte Backups parciais (SQL Server).
Para obter mais informações sobre limitações e restrições, consulte 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. Em tais situações, você pode suprimir essas entradas de log usando o sinalizador de rastreamento 3226, caso nenhum dos seus scripts dependa dessas entradas. Para obter mais informações, confira Sinalizadores de rastreamento (Transact-SQL).
Segurança
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.
Para fazer backup de arquivos de banco de dados e grupos de arquivos
Depois de conectar-se à instância adequada do Mecanismo de Banco de Dados do SQL Server, no Pesquisador de Objeto, clique no nome do servidor para expandir a árvore do servidor.
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.
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 .
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.
Na lista Tipo de backup , selecione Completo ou Diferencial.
Para a opção Componente de backup , clique em Arquivo e Grupos de Arquivo.
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.
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.
Opcionalmente, na caixa de texto Descrição , digite uma descrição do conjunto de backup.
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 Após (a opção padrão). Em seguida, insira o número de dias (a partir da criação do conjunto) após o qual o conjunto irá 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.
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.
Para exibir ou selecionar as opções avançadas, clique em Opções no painel Selecionar uma página .
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 em um conjunto de mídias existente, consulte Conjuntos de mídias, famílias de mídia e conjuntos de backup (SQL Server).
Opcionalmente, selecione Verificar nome do conjunto de mídias e validade 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 de backup expiram.
Como opção, digite 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, consulte Conjuntos de mídias, famílias de mídia e conjuntos de backup (SQL Server).
Na seção Confiabilidade, opcionalmente marcar:
Verificar backup quando concluído
Executar soma de verificação antes de gravar na mídiae, como opção, Continuar com erro da soma de verificação. Para obter mais informações sobre somas de verificação, consulte Possíveis erros de mídia durante o backup e restauração (SQL Server).
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 ).
SQL Server 2008 Enterprise e versões posteriores dão suporte à 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
Usando o Transact-SQL
Para efetuar backup de arquivos e grupos de arquivos
Para criar um backup de arquivo ou grupo de arquivos, use uma instrução file_or_filegroup> BACKUP DATABASE<. 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 básica do Transact-SQL 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.
Observação: um backup de arquivo diferencial exige um backup de arquivo completo como base. Para obter mais informações, consulte Criar um backup de banco de dados diferencial (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 (Transact-SQL)
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 arquivosSGrp1Fi1
eSGrp1Fi2
.Um grupo de arquivo nomeado
SalesGroup2
que tem os arquivosSGrp2Fi1
eSGrp2Fi2
.
a. Criando 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. Criando 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. Criando 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
Use o cmdlet Backup-SqlDatabase
e especifique Files
para o valor do parâmetro -BackupAction
. Além disso, especifique um dos seguintes parâmetros:
- To back up a specific file, specify the `-DatabaseFile`*String* parameter, where *String* is one or more database files to be backed up.
- To back up all the files in a given filegroup, specify the `-DatabaseFileGroup`*String* parameter, where *String* is one or more database filegroups to be backed up.
The following example creates a full file backup of every file in the secondary filegroups 'FileGroup1' and 'FileGroup2' in the `MyDB` database. The backups are created on the default backup location of the server instance `Computer\Instance`.
```powershell
Backup-SqlDatabase -ServerInstance Computer\Instance -Database MyDB -BackupAction Files -DatabaseFileGroup "FileGroup1","FileGroup2"
```
Para configurar e usar o provedor do PowerShell SQL Server, consulte SQL Server Provedor do PowerShell.
Consulte Também
Backup Overview (SQL Server)
BACKUP (Transact-SQL)
RESTORE (Transact-SQL)
Informações de histórico e cabeçalho de backup (SQL Server)
Backup do banco de dados (página Geral)
Backup de 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)