Partilhar via


Dispositivos de Backup (SQL Server)

Aplica-se a:SQL Server

Durante uma operação de backup numa base de dados SQL Server, os dados copiados (o backup) são escritos num dispositivo físico de backup. Este dispositivo de backup físico é inicializado quando a primeira cópia de segurança de um conjunto de suportes é gravada nele. Backups em um conjunto de um ou mais dispositivos de backup compõem um único conjunto de mídia.

Termos e definições

Disco de backup
Um disco rígido ou outro meio de armazenamento em disco que contenha um ou mais ficheiros de backup. Um ficheiro de backup é um ficheiro normal do sistema operativo.

conjunto de suportes de dados
Uma coleção ordenada de suportes de backup, fitas ou ficheiros de disco, que utiliza um tipo e número fixos de dispositivos de backup. Para mais informações sobre conjuntos de media, consulte Conjuntos de Media, Famílias de Media e Conjuntos de Backup (SQL Server).

Dispositivo de backup físico
Ou uma unidade de fita ou um ficheiro de disco fornecido pelo sistema operativo. Uma cópia de segurança pode ser escrita em 1 a 64 dispositivos de backup. Se um backup requer múltiplos dispositivos de backup, todos os dispositivos devem corresponder a um único tipo de dispositivo (disco ou fita).

Os backups do SQL Server também podem ser escritos no Azure Blob Storage, além de disco ou fita.

Utilização de dispositivos de backup de disco

Se um ficheiro de disco se encher enquanto uma operação de backup está a anexar uma cópia de segurança ao conjunto de suportes, a operação de backup falha. O tamanho máximo de um ficheiro de backup é determinado pelo espaço livre disponível no dispositivo de disco; Portanto, o tamanho adequado para um dispositivo de disco de backup depende do tamanho dos seus backups.

Um dispositivo de backup de disco podia ser um dispositivo de disco simples, como uma unidade ATA. Em alternativa, podes usar uma unidade de disco trocável a quente que te permita substituir de forma transparente 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 partilhado. Para informações sobre como usar um disco remoto, veja Fazer Backup de um Ficheiro numa Partilha de Rede, mais adiante neste tópico.

As ferramentas de gestão do SQL Server são muito flexíveis a gerir dispositivos de backup de disco porque geram automaticamente um nome com carimbo temporal no ficheiro do disco.

Importante

Recomendamos que um disco de backup seja diferente dos discos de dados e logs da base de dados. Isto é necessário para garantir que pode aceder aos backups caso o disco de dados ou o disco de registo falhe.

Se os ficheiros da base de dados e os de backup estiverem no mesmo dispositivo e este falhar, a base de dados e os backups ficarão indisponíveis. Além disso, colocar a base de dados e os ficheiros de backup em dispositivos separados otimiza o desempenho de I/O tanto para o uso em produção da base de dados como para a escrita de backups.

Especifique um ficheiro de backup usando o seu nome físico (Transact-SQL)

A sintaxe básica BACKUP para especificar um ficheiro de backup usando o nome do seu dispositivo físico é:

BACKUP BASE DE DADOS database_name

PARA DISCO = { '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 numa 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';   

Especifique o caminho do ficheiro de backup do disco

Quando estiver a especificar um ficheiro de backup, deve introduzir o seu caminho completo e o nome do ficheiro. Se especificar apenas o nome do ficheiro ou um caminho relativo ao fazer backup de um ficheiro, o ficheiro de backup é colocado no diretório de backup predefinido. A pasta de backup padrão é C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Backup, onde n é o número da instância do servidor. Portanto, para a instância do servidor predefinido, o diretório de backup predefinido é: C:\Program Files\Microsoft SQL Server\MSSQL13. MSSQLSERVER\MSSQL\Backup.

Para evitar ambiguidades, especialmente em scripts, recomendamos que especifique explicitamente o caminho do diretório de backup em cada cláusula DISK. No entanto, isto é menos importante quando está a usar o Editor de Consultas. Nesse caso, se tiver a certeza de que o ficheiro de backup reside no diretório de backup predefinido, pode omitir o caminho de uma cláusula DISK. Por exemplo, a seguinte BACKUP instrução faz backup da AdventureWorks2025 base de dados para o diretório de backup predefinido.

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

Observação

A localização padrão está armazenada na chave de registo do BackupDirectory sob HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.n\MSSQLServer.

Fazer backup para um ficheiro de partilha de rede

Para que o SQL Server aceda a um ficheiro de disco remoto, a conta do serviço SQL Server deve ter acesso à partilha de rede. Isto inclui ter as permissões necessárias para as operações de backup poderem escrever na partilha de rede e para as operações de restauro poderem ler a partir dela. A disponibilidade de discos de rede e permissões depende do contexto em que o serviço SQL Server está a correr:

  • Para fazer backup para um disco de rede quando o SQL Server está a correr numa conta de utilizador de domínio, o disco partilhado deve ser mapeado como um disco de rede na sessão onde o SQL Server está a correr. Se começar o Sqlservr.exe a partir da linha de comando, o SQL Server vê quaisquer unidades de rede que tenhas mapeadas na tua sessão de login.

  • Quando executas Sqlservr.exe como serviço, o SQL Server corre numa sessão separada que não tem qualquer relação com a tua sessão de login. A sessão em que um serviço corre pode ter os seus próprios discos mapeados, embora normalmente não tenha.

  • Pode ligar-se à conta do serviço de rede usando a conta do computador em vez de um utilizador do domínio. Para permitir cópias de segurança de computadores específicos para um disco partilhado, conceda acesso às contas do computador. Desde que o processo Sqlservr.exe que está a escrever o backup tenha acesso, é irrelevante se o utilizador que envia o comando BACKUP tem acesso.

    Importante

    Fazer backup de dados numa rede pode estar sujeito a erros na rede; Por isso, recomendamos que, ao usar um disco remoto, verifique a operação de backup após o seu término. Para mais informações, consulte RESTORE VERIFYONLY (Transact-SQL).

Especificar um nome de Convenção de Nomenclatura Universal (UNC)

Para especificar uma partilha de rede num comando de backup ou restauro, use o nome totalmente qualificado da convenção universal de nomes (UNC) do ficheiro do dispositivo de backup. Um nome UNC tem a forma \\Systemname\ShareName\Path\FileName (Nome do Ficheiro).

Por exemplo:

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

Utilização de dispositivos de fita

Observação

O suporte para dispositivos de backup em fita será removido numa futura versão do SQL Server. Evite usar esse recurso em novos trabalhos de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso.

Fazer backup dos dados do SQL Server em fita requer que a unidade ou unidades de fita sejam suportadas pelo sistema operativo Microsoft Windows. Além disso, para a unidade de fita em questão, recomendamos que utilize apenas as fitas recomendadas pelo fabricante da unidade. Para mais informações sobre como instalar uma unidade de fita, consulte a documentação do sistema operativo Windows.

Quando uma unidade de fita é utilizada, uma operação de backup pode preencher uma fita e continuar para a próxima. Cada fita contém um cabeçalho de mídia. O primeiro meio utilizado chama-se fita inicial. Cada fita sucessiva é conhecida como fita de continuação e tem um número de sequência de mídia que é um número superior ao da fita anterior. Por exemplo, um conjunto de suportes associado a quatro dispositivos de fita contém pelo menos quatro fitas iniciais (e, se a base de dados não caber, quatro séries de fitas de continuação). Ao anexar um conjunto de backup, deve montar a última fita da série. Se a última fita não estiver montada, o Motor de Base de Dados avança até ao final da fita montada e depois exige que mudes a fita. Nesse momento, monta a última gravação.

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

  • O dispositivo de fita deve estar fisicamente ligado ao computador que está a executar uma instância do SQL Server. O backup para dispositivos de fita remota não é suportado.

  • Se um dispositivo de backup de fita for preenchido durante a operação de backup, mas ainda tiver de ser escrito mais dados, o SQL Server solicita uma nova fita e continua a operação de backup após o carregamento de uma nova fita.

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

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

BACKUP { DATABASE | LOG } database_name

PARA FITA = { '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ísica numa instrução RESTORE , a sintaxe básica é:

RESTORE { DATABASE | LOG } database_name

DA FITA = { 'physical_backup_device_name' | @physical_backup_device_name_var }

Tape-Specific Opções de BACKUP e RESTAURO (Transact-SQL)

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

  • { NÃO DESCARREGAR | DESCARREGAR }

    Pode controlar se uma fita de backup é descarregada automaticamente da unidade de fita após uma operação de backup ou restauro. UNLOAD/NOUNLOAD é uma definição de sessão que persiste durante toda a duração da sessão ou até ser reiniciada, especificando a opção oposta.

  • { REBOBINAR | NÃO REBOBINAR }

    Podes controlar se o SQL Server mantém a fita aberta após a operação de backup ou restauro, ou se a liberta e rebobina a fita depois de encher. O comportamento padrão é rebobinar a fita (REWIND).

Observação

Para mais informações sobre a sintaxe e os argumentos do BACKUP, veja BACKUP (Transact-SQL). Para mais informações sobre a sintaxe e os argumentos de RESTORE, veja RESTORE (Transact-SQL) e RESTORE Arguments (Transact-SQL), respetivamente.

Gerir fitas abertas

Para visualizar uma lista de dispositivos de fita abertos e o estado dos pedidos de montagem, consulte a vista de gestão dinâmica sys.dm_io_backup_tapes . Esta vista mostra todas as fitas abertas. Esta inclui fitas em uso que estão temporariamente inativas enquanto aguardam a próxima operação de CÓPIA DE SEGURANÇA ou RESTAURAÇÃO.

Se uma fita tiver sido deixada aberta por engano, a forma mais rápida de libertá-la é usar o seguinte comando: RESTORE REWINDONLY FROM TAPE =backup_device_name. Para mais informações, consulte RESTORE REWINDONLY (Transact-SQL).

Utilização do Azure Blob Storage

Backups SQL Server podem ser escritos para Azure Blob Storage. Para mais informações sobre como usar o Azure Blob Storage para os seus backups, consulte SQL Server Backup and Restore com Microsoft Azure Blob Storage.

Use um dispositivo de backup lógico

Um dispositivo de backup lógico é um nome opcional, definido pelo utilizador, que aponta para um dispositivo de backup físico específico (um ficheiro de disco ou unidade de fita). Um dispositivo de backup lógico permite-te usar a indireção ao referenciar o dispositivo de backup físico correspondente.

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

O nome do dispositivo lógico deve ser único entre todos os dispositivos de backup lógico na instância do servidor. Para visualizar os nomes dos dispositivos lógicos existentes, consulte a vista de catálogo sys.backup_devices . Esta vista mostra o nome de cada dispositivo de backup lógico e descreve o tipo e o nome físico do ficheiro ou caminho do dispositivo de backup físico correspondente.

Depois de definir um dispositivo de backup lógico, num comando BACKUP ou RESTORE, pode especificar o dispositivo de backup lógico em vez do nome físico do dispositivo. Por exemplo, a seguinte instrução faz backup da AdventureWorks2025 base de dados para o AdventureWorksBackups dispositivo lógico de backup.

BACKUP DATABASE AdventureWorks2022   
   TO AdventureWorksBackups;  
GO  

Observação

Numa dada instrução BACKUP ou RESTORE, o nome lógico do dispositivo de backup e o nome correspondente do dispositivo físico de backup são intercambiáveis.

Uma vantagem de usar um dispositivo de backup lógico é que é mais simples de usar do que um caminho longo. Usar um dispositivo de backup lógico pode ajudar se planeia escrever uma série de backups no mesmo caminho ou num dispositivo de fita. Os dispositivos de backup lógico são especialmente úteis para identificar dispositivos de backup em fita.

Um script de backup pode ser escrito para usar um determinado dispositivo lógico de backup. Isto permite-te mudar para um novo dispositivo de backup físico sem atualizar o script. A troca envolve o seguinte processo:

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

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

Conjuntos de suportes de backup espelhados

O espelhamento dos conjuntos de suportes de backup reduz o efeito de falhas nos dispositivos de backup. Estas avarias são especialmente graves porque os backups são a última linha de defesa contra a perda de dados. À medida que o tamanho das bases de dados aumenta, aumenta a probabilidade de que uma falha de um dispositivo de backup ou suporte torne um backup não restaurável. Espelhar os suportes de cópias de segurança aumenta a fiabilidade destas ao proporcionar redundância para o dispositivo físico de cópia de segurança. Para mais informações, consulte Conjuntos de Media de Backup Espelhados (SQL Server).

Observação

Conjuntos de media de backup espelhados são suportados apenas na edição Enterprise do SQL Server 2005 e versões posteriores.

Arquivar cópias de segurança do SQL Server

Recomendamos que utilize uma utilitária de backup do sistema de ficheiros para arquivar as cópias de segurança do disco e que armazene os arquivos fora do local. Usar disco tem a vantagem de usar a rede para gravar os backups arquivados num disco fora do local. O Azure Blob Storage pode ser usado como opção de arquivamento fora do local. Pode carregar os seus backups de disco ou escrever diretamente os backups no Azure Blob Storage.

Outra abordagem comum de arquivamento é escrever backups do SQL Server num disco de backup local, arquivá-los em fita e depois armazenar as fitas fora do local.

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 lógico de backup

Para ver informações sobre dispositivos de backup

Para eliminar um dispositivo de backup lógico

Consulte também

SQL Server, Objeto de Dispositivo de Backup
CÓPIA DE SEGURANÇA (Transact-SQL)
Planos de Manutenção
Conjuntos de Multimédia, Famílias de Media e Conjuntos de Backup (SQL Server)
RESTAURAR (Transact-SQL)
RESTAURAR LABELONLY (Transact-SQL)
sys.backup_devices (Transact-SQL)
sys.dm_io_backup_tapes (Transact-SQL)
Conjuntos de Media de Backup Espelhados (SQL Server)