Backups somente cópia

Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure

Um backup somente cópia é um backup do SQL Server que é independente da sequência de backups do SQL Server convencionais. Geralmente, um backup altera o banco de dados e afeta a forma de restauração dos backups posteriores. Porém, ocasionalmente, é útil fazer um backup para uma finalidade especial sem afetar os procedimentos de backup e restauração do banco de dados em geral. Backups de cópia servem para essa finalidade.

Os tipos de backups somente cópia são:

  • Backups completos somente cópia (todos os modelos de recuperação)

    • Um backup somente cópia não pode servir como base diferencial ou backup diferencial e não afeta a base diferencial.

    • Restaurar um backup completo somente cópia é o mesmo que restaurar qualquer outro backup completo.

  • Backups de log somente cópia (modelo de recuperação completa e modelo de recuperação bulk-logged apenas)

    • Um backup de log somente cópia preserva o ponto de arquivo de log existente e, portanto, não afeta a sequência de backups de log regulares. Backups de log somente cópia em geral são desnecessários. Em vez disso, você pode criar um novo backup de log de rotina (usando WITH NORECOVERY) e usar esse backup com qualquer backup de log anterior que seja exigido para a sequência de restauração. No entanto, um backup de log somente cópia pode ser útil às vezes para executar uma restauração online. Para obter mais informações, siga as instruções no artigo Exemplo: restauração online de um arquivo de leitura-gravação (modelo de recuperação completa), usando os arquivos de backup somente cópia em seu lugar.

    • O log de transações nunca é truncado após um backup somente cópia.

Backups somente cópia são registrados na coluna is_copy_only da tabela backupset.

Importante

Na Instância Gerenciada de SQL do Azure, não é possível criar o backup somente cópia para um banco de dados criptografado com TDE (Transparent Data Encryption) gerenciada pelo serviço. A TDE gerenciada pelo serviço usa a chave interna para criptografia de dados e essa chave não pode ser exportada, portanto, não é possível restaurar o backup em outro lugar. Considere usar a TDE gerenciada pelo cliente para poder criar backups somente cópia de bancos de dados criptografados, mas certifique-se de ter a chave de criptografia disponível para restauração posterior.

Criar um backup somente cópia

Você pode criar um backup somente cópia usando o SQL Server Management Studio, o Azure Data Studio, o Transact-SQL ou o PowerShell.

R. Usar o SQL Server Management Studio

Neste exemplo, será feito backup somente cópia do banco de dados Sales em disco no local de backup padrão.

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados do SQL Server e expanda-a.

  2. Expanda Banco de Dados, clique com o botão direito do mouse em Sales, aponte para Tarefas e selecione Fazer Backup....

  3. Na página Geral na seção Origem, marque a caixa de seleção Backup somente cópia.

  4. Selecione OK.

B. Usar o Transact-SQL

Este exemplo cria um backup somente cópia para o banco de dados Sales usando o parâmetro COPY_ONLY. Também é feito um backup somente cópia do log de transações.

BACKUP DATABASE Sales
TO DISK = 'E:\BAK\Sales_Copy.bak'
WITH COPY_ONLY;

BACKUP LOG Sales
TO DISK = 'E:\BAK\Sales_LogCopy.trn'
WITH COPY_ONLY;

Observação

COPY_ONLY não tem nenhum efeito quando é especificado com a opção DIFFERENTIAL.

C. Usar o Transact-SQL e a Instância Gerenciada de SQL do Azure

A Instância Gerenciada de SQL do Azure oferece suporte à realização de backups completos COPY_ONLY. O exemplo faz um backup COPY_ONLY do MyDatabase no Armazenamento de Blobs do Microsoft Azure. O nome da Conta de armazenamento é mystorageaccount. O contêiner é chamado myfirstcontainer. Uma política de acesso ao armazenamento foi criada com direitos de leitura, gravação, exclusão e listagem. A credencial do SQL Server, https://mystorageaccount.blob.core.windows.net/myfirstcontainer, foi criada ao usar uma Assinatura de Acesso Compartilhado associada ao segredo da Política de Acesso ao Armazenamento. Para obter informações sobre o backup do SQL Server no Armazenamento de Blobs do Microsoft Azure, confira Backup e restauração do SQL Server com o Armazenamento de Blobs do Microsoft Azure e Backup em URL do SQL Server.

-- Prerequisite to have write permissions
CREATE CREDENTIAL [https://mystorageaccount.blob.core.windows.net/myfirstcontainer]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'sp=...' -- Enter your secret SAS token here.

BACKUP DATABASE MyDatabase
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabaseBackup.bak'
WITH STATS = 5, COPY_ONLY;

Para fazer um backup somente cópia dividido em várias faixas, use este exemplo:

BACKUP DATABASE MyDatabase
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-01.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-02.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-03.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-04.bak'
WITH COPY_ONLY;

D. Usar o PowerShell

Este exemplo cria um backup somente cópia para o banco de dados Sales usando o parâmetro -CopyOnly.

Backup-SqlDatabase -ServerInstance 'SalesServer' -Database 'Sales' -BackupFile 'E:\BAK\Sales_Copy.bak' -CopyOnly

Criar um backup completo ou um backup de log

Visualizar backups somente cópia

Configurar e usar o provedor do SQL Server PowerShell