Dispositivos de backup (SQL Server)

Aplica-se a:SQL Server

Durante uma operação de backup em um banco de dados SQL Server, os dados de backup (o backup) são gravados em um dispositivo de backup físico. Esse dispositivo de backup físico é inicializado quando o primeiro backup em um conjunto de mídias é gravado nele. Backups em um conjunto de um ou mais dispositivos de backup compõem um único conjunto de mídias.

Termos e definições

disco de backup
Um disco rígido ou outra mídia de armazenamento em disco que contém um ou mais arquivos de backup. Um arquivo de backup é um arquivo de sistema operacional regular.

conjunto de mídias
Uma coleção ordenada de mídias de backup, fitas ou arquivos de disco, que utiliza um tipo e número fixos de dispositivos de backup. Para obter mais informações sobre conjuntos de mídias, consulte Conjuntos de mídias, famílias de mídias e conjuntos de backup (SQL Server).

dispositivo de backup físico
Uma unidade de fita ou um arquivo de disco é fornecido pelo sistema operacional. Um backup pode ser gravado em 1 a 64 dispositivos de backup. Se um backup exigir vários dispositivos de backup, todos os dispositivos deverão corresponder a um único tipo de dispositivo (disco ou fita).

Os backups do SQL Server também podem ser gravados no Armazenamento de Blobs do Azure, além de disco ou fita.

Usando dispositivos de backup em disco

Se um arquivo de disco ficar cheio enquanto uma operação de backup estiver anexando um backup ao conjunto de mídias, a operação de backup falhará. O tamanho máximo de um arquivo de backup é determinado pelo espaço livre de disco disponível no dispositivo de disco, portanto o tamanho apropriado de um dispositivo de disco de backup depende do tamanho de seus backups.

Um dispositivo de backup de disco pode ser um simples dispositivo de disco, como uma unidade ATA. Como alternativa, pode-se usar uma unidade de disco removível que permite a substituição de um disco cheio na unidade por um disco vazio. Um disco de backup pode ser um disco local no servidor ou um disco remoto que é um recurso de rede compartilhado. Para obter informações sobre como usar um disco remoto, consulte Fazendo backup em um arquivo em um compartilhamento de rede, posteriormente neste tópico.

As ferramentas de gerenciamento do SQL Server são muito flexíveis para manusear dispositivos de backup em disco, pois elas geram automaticamente um nome com carimbo de data/hora no arquivo em disco.

Importante

Nós recomendamos que um disco de backup seja diferente dos discos de banco de dados e de log. Isso é necessário para garantir que será possível acessar os backups se houver falha no disco de dados ou de log.

Se os arquivos de banco de dados e os arquivos de backup estiverem no mesmo dispositivo e o dispositivo falhar, o banco de dados e os backups não estarão disponíveis. Além disso, colocar arquivos de banco de dados e de backup em dispositivos separados otimiza o desempenho de E/S para o uso de produção do banco de dados e a gravação de backups.

Especificar um arquivo de backup usando seu nome físico (Transact-SQL)

A sintaxe básica BACKUP para especificar um arquivo de backup com seu nome de dispositivo físico é:

BACKUP DATABASE database_name

TO DISK = { 'physical_backup_device_name' | @physical_backup_device_name_var }

Por exemplo:

BACKUP DATABASE AdventureWorks2022   
   TO DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak';  
GO  

Para especificar um dispositivo de disco físico em uma instrução RESTORE , a sintaxe básica é:

RESTORE { DATABASE | LOG } database_name

FROM DISK = { 'physical_backup_device_name' | @physical_backup_device_name_var }

Por exemplo,

RESTORE DATABASE AdventureWorks2022   
   FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak';   

Especificar o caminho do arquivo de backup em disco

Ao especificar um arquivo de backup, você deve digitar seu caminho completo e o nome do arquivo. Se você especificar somente o nome de arquivo ou um caminho relativo ao fazer o backup de um arquivo, o arquivo de backup será armazenado no diretório de backup padrão. O diretório de backup padrão é C:\Arquivos de Programas\Microsoft SQL Server\MSSQL.n\MSSQL\Backup, em que n é o número da instância do servidor. Portanto, para a instância de servidor padrão, o diretório de backup padrão é: C:\Arquivos de Programas\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup.

Para evitar ambiguidade, especialmente em scripts, é recomendável especificar explicitamente o caminho do diretório de backup em cada cláusula DISK. Porém, isto é menos importante quando você está usando o Editor de Consultas. Nesse caso, se você tiver certeza de que o arquivo de backup reside no diretório de backup padrão, pode-se omitir o caminho da cláusula DISK. Por exemplo, a instrução BACKUP a seguir faz o backup do banco de dados AdventureWorks2022 no diretório de backup padrão.

BACKUP DATABASE AdventureWorks2022   
   TO DISK = 'AdventureWorks2022.bak';  
GO  

Observação

O local padrão é armazenado na chave do Registro BackupDirectory em HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.n\MSSQLServer.

Fazer backup em um arquivo de compartilhamento de rede

Para que o SQL Server acesse um arquivo de disco remoto, a conta de serviço do SQL Server deve ter acesso ao compartilhamento de rede. Isso inclui ter as permissões necessárias para que as operações de backup possam gravar no compartilhamento de rede e as operações de restauração possam ler a partir do compartilhamento de rede. A disponibilidade de unidades de rede e permissões depende do contexto em que o serviço SQL Server está sendo executado:

  • Para fazer backup em uma unidade de rede quando o SQL Server estiver em execução em uma conta de usuário de domínio, a unidade compartilhada deverá ser mapeada como uma unidade de rede na sessão em que o SQL Server estiver em execução. Se você iniciar Sqlservr.exe na linha de comando, o SQL Server verá todas as unidades de rede mapeadas em sua sessão de logon.

  • Quando você executa Sqlservr.exe como um serviço, o SQL Server é executado em uma sessão separada que não tem relação com sua sessão de logon. A sessão na qual um serviço é executado pode ter suas próprias unidades mapeadas, embora normalmente não tenha.

  • Você pode se conectar a conta de serviço de rede usando a conta do computador em vez de um usuário de domínio. Para ativar backups de computadores específicos para uma unidade compartilhada, conceda acesso às contas do computador. Desde que o processo Sqlservr.exe que está gravando o backup tenha acesso, é irrelevante se o usuário que está enviando o comando BACKUP tem acesso.

    Importante

    Fazer backup de dados em uma rede pode ocasionar erros de rede e por isso, é recomendável que você, quando estiver usando uma unidade remota, verifique a operação de backup após concluí-lo. Para obter mais informações, consulte RESTORE VERIFYONLY (Transact-SQL).

Especificar um nome UNC

Para especificar um compartilhamento de rede em um comando de backup ou restauração, use o nome UNC totalmente qualificado do arquivo para o dispositivo de backup. Um nome UNC tem a forma \\Systemname\ShareName\Path\FileName.

Por exemplo:

BACKUP DATABASE AdventureWorks2022   
   TO DISK = '\\BackupSystem\BackupDisk1\AW_backups\AdventureWorksData.Bak';  
GO  

Usando dispositivos de fita

Observação

O suporte a dispositivos de backup em fita será removido em uma versão futura do SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.

O backup de dados do SQL Server em fita requer que as unidades de fita tenham suporte no sistema operacional Microsoft Windows. Além disso, para determinada unidade de fita, nós recomendamos que você só utilize as fitas recomendadas pelo fabricante da unidade. Para obter mais informações sobre como instalar uma unidade de fita, consulte a documentação do sistema operacional Windows.

Quando uma unidade de fita é usada, uma operação de backup pode preencher uma fita e continuar em outra fita. Cada fita contém um cabeçalho de mídia. A primeira mídia usada é chamada fita inicial. Cada fita sucessiva é conhecida como uma fita de continuação e tem um número de sequência de mídia uma vez superior à fita anterior. Por exemplo, um conjunto de mídias associado a quatro dispositivos de mídia contém pelo menos quatro fitas iniciais (e, se o banco de dados não couber, quatro séries de fitas de continuação). Ao anexar um conjunto de backup, você deve montar a última fita na série. Se a última fita não estiver montada, o Mecanismo de Banco de Dados fará a verificação até o fim da fita montada e exigirá que você altere a fita. Neste ponto, monte a última fita.

Os dispositivos de backup de fita são usados como dispositivos de disco, com as seguintes exceções:

  • O dispositivo de fita deve estar conectado fisicamente ao computador que está executando uma instância do SQL Server. O backup em dispositivos de fita remotos não é suportado.

  • Se um dispositivo de backup em fita for preenchido durante a operação de backup, mas ainda for necessário gravar mais dados, o SQL Server solicitará uma nova fita e continuará a operação de backup após o carregamento de uma nova fita.

Especificar uma fita de backup usando seu nome físico (Transact-SQL)

A sintaxe básica de BACKUP para especificar uma fita de backup usando o nome do dispositivo físico da unidade de fita é:

BACKUP { DATABASE | LOG } database_name

TO TAPE = { 'physical_backup_device_name' | @physical_backup_device_name_var }

Por exemplo:

BACKUP LOG AdventureWorks2022   
   TO TAPE = '\\.\tape0';  
GO  

Para especificar um dispositivo de fita físico em uma instrução RESTORE , a sintaxe básica é:

RESTORE { DATABASE | LOG } database_name

FROM TAPE = { 'physical_backup_device_name' | @physical_backup_device_name_var }

Opções BACKUP e RESTORE específicas de fita (Transact-SQL)

Para facilitar o gerenciamento de fitas, a instrução BACKUP fornece as seguintes opções específicas a fitas:

  • { NOUNLOAD | UNLOAD }

    Você pode controlar se uma fita de backup é descarregada automaticamente da unidade de fita após uma operação de backup ou restauração. UNLOAD/NOUNLOAD é uma configuração de sessão que persiste durante a vida útil da sessão ou até que ela seja redefinida especificando a alternativa.

  • { REWIND | NOREWIND }

    Você pode controlar se o SQL Server mantém a fita aberta após a operação de backup ou restauração ou libera e retrocede a fita após ela ser preenchida. O comportamento padrão é rebobinar a fita (REWIND).

Observação

Para obter mais informações sobre a sintaxe e os argumentos de BACKUP, consulte BACKUP (Transact-SQL). Para obter mais informações sobre a sintaxe e os argumentos de RESTORE, consulte RESTORE (Transact-SQL) e RESTORE Arguments (Transact-SQL), respectivamente.

Gerenciando fitas abertas

Para exibir uma lista de dispositivos de fitas abertas e o status das solicitações de montagem, consulte a exibição de gerenciamento dinâmico sys.dm_io_backup_tapes . Esta exibição mostra todas as fitas abertas. Elas incluem fitas em uso que estão temporariamente inativas enquanto esperam a próxima operação de BACKUP ou RESTAURAÇÃO.

Se uma fita foi acidentalmente deixada aberta, o modo mais rápido de liberá-la é usando o seguinte comando: RESTORE REWINDONLY FROM TAPE =backup_device_name. Para obter mais informações, consulte RESTORE REWINDONLY (Transact-SQL).

Usar o serviço de Armazenamento de Blobs do Azure

Os backups do SQL Server podem ser gravados no Armazenamento de Blobs do Azure. Para obter mais informações sobre como usar o Armazenamento de Blobs do Azure para seus backups, consulte Backup e Restauração do SQL Server com Armazenamento de Blobs do Microsoft Azure.

Usar um dispositivo de backup lógico

Um dispositivo de backup lógico é um nome opcional definido pelo usuário que aponta para um dispositivo de backup físico específico (um arquivo de disco ou uma unidade de fita). Um dispositivo de backup lógico permite que você use nomes indiretos ao fazer referência ao dispositivo de backup físico correspondente.

Definir um dispositivo de backup lógico envolve a atribuição de um nome lógico a um dispositivo físico. Por exemplo, um dispositivo lógico, AdventureWorksBackups, poderia ser definido para apontar para o arquivo Z:\SQLServerBackups\AdventureWorks2022.bak ou a unidade de fita \\.\tape0. Os comandos de backup e restauração podem especificar AdventureWorksBackups como o dispositivo de backup, em vez de DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak' ou TAPE = '\\.\tape0'.

O nome de dispositivo lógico deve ser exclusivo entre todos os dispositivos de backup lógicos na instância do servidor. Para exibir os nomes de dispositivo lógicos existentes, consulte a exibição de catálogo sys.backup_devices . Essa exibição mostra o nome de cada dispositivo de backup lógico e descreve o tipo e o nome de arquivo físico ou caminho do dispositivo de backup físico correspondente.

Depois que um dispositivo de backup lógico é definido, em um comando de BACKUP ou RESTAURAÇÃO, é possível especificar o dispositivo de backup lógico em vez do nome físico do dispositivo. Por exemplo, a instrução seguinte faz backup do banco de dados AdventureWorks2022 no dispositivo de backup lógico AdventureWorksBackups .

BACKUP DATABASE AdventureWorks2022   
   TO AdventureWorksBackups;  
GO  

Observação

Em uma determinada instrução de BACKUP ou RESTAURAÇÃO, o nome do dispositivo de backup lógico e o nome do dispositivo de backup físico correspondente são intercambiáveis.

Uma vantagem de usar um dispositivo de backup lógico é que é mais simples do que usar um caminho longo. Usar um dispositivo de backup lógico poderá ajudar se você planeja gravar uma série de backups no mesmo caminho ou em um dispositivo de fita. Os dispositivos de backup lógicos são especialmente úteis para identificar dispositivos de backup em fita.

Um script de backup pode ser gravado para usar um dispositivo de backup lógico particular. Isso permite que você alterne para novos dispositivos de backup físicos sem atualizar o script. Alternar envolve o seguinte processo:

  1. Descartar o dispositivo de backup lógico original.

  2. Definir um novo dispositivo de backup lógico que usa o nome de dispositivo lógico original, mas mapeia em um dispositivo de backup físico diferente. Os dispositivos de backup lógicos são especialmente úteis para identificar dispositivos de backup em fita.

Conjuntos de mídias de backup espelhado

O espelhamento de conjuntos de mídias de backup reduz o efeito de maus funcionamentos do dispositivo de backup. Esses maus funcionamentos são especialmente sérios uma vez que os backups são a última linha de defesa contra a perda de dados. À medida que o tamanho dos bancos de dados cresce, aumenta a probabilidade de que uma falha de um dispositivo de backup ou mídia torne impossível a restauração de um backup. O espelhamento de mídias de backup aumenta a confiabilidade de backups fornecendo redundância para o dispositivo de backup físico. Para obter mais informações, consulte Conjuntos de mídias de backup espelhadas (SQL Server).

Observação

Os conjuntos de mídias de backup espelhados têm suporte somente na edição SQL Server 2005 Enterprise e versões posteriores.

Arquivar backups do SQL Server

Recomendamos que você use um utilitário de backup do sistema de arquivos para arquivar os backups de disco e que armazene os arquivos externamente. Usar um disco tem a vantagem de usar a rede para gravar os backups arquivados em um disco externo. O Armazenamento de Blobs do Azure pode ser usado como opção de arquivamento externo. Você pode carregar seus backups de disco ou gravá-los diretamente no Armazenamento de Blobs do Azure.

Outra abordagem de arquivamento comum é gravar os backups do SQL Server em um disco de backup local, arquivá-los em uma fita e, em seguida, armazenar as fitas externamente.

Tarefas relacionadas

Para especificar um dispositivo de disco (SQL Server Management Studio)

Para especificar um dispositivo de fita (SQL Server Management Studio)

Para definir um dispositivo de backup lógico

Para usar um dispositivo de backup lógico

Para exibir informações sobre dispositivos de backup

Para excluir um dispositivo de backup lógico

Confira também

SQL Server, objeto Backup Device
BACKUP (Transact-SQL)
Planos de manutenção
Conjuntos de mídias, famílias de mídia e conjuntos de backup (SQL Server)
RESTORE (Transact-SQL)
RESTORE LABELONLY (Transact-SQL)
sys.backup_devices (Transact-SQL)
sys.dm_io_backup_tapes (Transact-SQL)
Conjuntos de mídias de backup espelhadas (SQL Server)