Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Faz backup de um banco de dados SQL.
Selecione um produto
Na linha seguinte, selecione o nome do produto em que está interessado e apenas as informações desse produto são apresentadas.
Para mais informações sobre as convenções sintáticas, consulte Transact-SQL convenções sintáticas.
* SQL Server *
Plataforma de análise
Sistema (PDW)
SQL Server
Faz backup de uma base de dados SQL Server completa para criar uma cópia de segurança da base de dados, ou um ou mais ficheiros ou grupos de ficheiros da base de dados para criar uma cópia de segurança de ficheiros (BACKUP DATABASE). Além disso, no modelo de recuperação completa ou no modelo de recuperação bulk-logged, faz backup do log de transações do banco de dados para criar um backup de log (BACKUP LOG).
Sintaxe
--Back up a whole database
BACKUP DATABASE { database_name | @database_name_var }
TO <backup_device> [ , ...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { DIFFERENTIAL
| <general_WITH_options> [ , ...n ] } ]
[ ; ]
--Back up specific files or filegroups
BACKUP DATABASE { database_name | @database_name_var }
<file_or_filegroup> [ , ...n ]
TO <backup_device> [ , ...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { DIFFERENTIAL | <general_WITH_options> [ , ...n ] } ]
[ ; ]
--Create a partial backup
BACKUP DATABASE { database_name | @database_name_var }
READ_WRITE_FILEGROUPS [ , <read_only_filegroup> [ , ...n ] ]
TO <backup_device> [ , ...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { DIFFERENTIAL | <general_WITH_options> [ , ...n ] } ]
[ ; ]
--Back up the transaction log (full and bulk-logged recovery models)
BACKUP LOG
{ database_name | @database_name_var }
TO <backup_device> [ , ...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { <general_WITH_options> | <log_specific_options> } [ , ...n ] ]
[ ; ]
--Back up all the databases on an instance of SQL Server (a server)
ALTER SERVER CONFIGURATION
SET SUSPEND_FOR_SNAPSHOT_BACKUP ON
[ ; ]
BACKUP SERVER
TO <backup_device> [ , ...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { METADATA_ONLY
| <general_WITH_options> [ , ...n ] } ]
[ ; ]
--Back up a group of databases
ALTER DATABASE <database>
SET SUSPEND_FOR_SNAPSHOT_BACKUP ON
ALTER DATABASE <...>
SET SUSPEND_FOR_SNAPSHOT_BACKUP ON
...
BACKUP GROUP { <database> [ , ... ] }
TO <backup_device> [ , ...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { METADATA_ONLY
| <general_WITH_options> [ , ...n ] } ]
[ ; ]
<backup_device>::=
{
{ logical_device_name | @logical_device_name_var }
| { DISK
| TAPE
| URL } =
{ 'physical_device_name' | @physical_device_name_var | 'NUL' }
}
<MIRROR TO clause>::=
MIRROR TO <backup_device> [ , ...n ]
<file_or_filegroup>::=
{
FILE = { logical_file_name | @logical_file_name_var }
| FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
}
<read_only_filegroup>::=
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
<general_WITH_options> [ , ...n ] ::=
--Backup Set Options
COPY_ONLY
| [ COMPRESSION [ ( ALGORITHM = { MS_XPRESS | ZSTD | accelerator_algorithm } [ , LEVEL = { LOW | MEDIUM | HIGH } ] ) ] | NO_COMPRESSION ]
| DESCRIPTION = { 'text' | @text_variable }
| NAME = { backup_set_name | @backup_set_name_var }
| CREDENTIAL
| ENCRYPTION
| FILE_SNAPSHOT
| { EXPIREDATE = { 'date' | @date_var }
| RETAINDAYS = { days | @days_var } }
| { METADATA_ONLY | SNAPSHOT }
--Media set options
{ NOINIT | INIT }
| { NOSKIP | SKIP }
| { NOFORMAT | FORMAT }
| MEDIADESCRIPTION = { 'text' | @text_variable }
| MEDIANAME = { media_name | @media_name_variable }
| BLOCKSIZE = { blocksize | @blocksize_variable }
--Data Transfer Options
BUFFERCOUNT = { buffercount | @buffercount_variable }
| MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }
--Error Management Options
{ NO_CHECKSUM | CHECKSUM }
| { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
--Compatibility Options
RESTART
--Monitoring Options
STATS [ = percentage ]
--Tape Options
{ REWIND | NOREWIND }
| { UNLOAD | NOUNLOAD }
--Encryption Options
ENCRYPTION (ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY } , encryptor_options ) <encryptor_options> ::=
SERVER CERTIFICATE = Encryptor_Name | SERVER ASYMMETRIC KEY = Encryptor_Name
<log_specific_options> [ , ...n ] ::=
--Log-specific Options
{ NORECOVERY | STANDBY = undo_file_name }
| NO_TRUNCATE
Argumentos
BASE DE DADOS
Especifica um backup completo do banco de dados. Se uma lista de arquivos e grupos de arquivos for especificada, somente esses arquivos e grupos de arquivos serão submetidos a backup. Durante um backup total ou diferencial da base de dados, o SQL Server faz backup suficiente do registo de transações para produzir uma base de dados consistente quando o backup é restaurado.
Quando você restaura um backup criado por BACKUP DATABASE (um backup de dados), todo o backup é restaurado. Somente um backup de log pode ser restaurado para um horário ou transação específica dentro do backup.
Observação
Somente um backup completo do banco de dados pode ser executado no banco de dados master.
REGISTO
Especifica apenas um backup do log de transações. O backup do log é feito a partir do último backup de log executado com êxito até o final atual do log. Antes de criar o primeiro backup de log, você deve criar um backup completo.
Você pode restaurar um backup de log para um horário específico ou transação dentro do backup especificando WITH STOPAT, STOPATMARKou STOPBEFOREMARK em sua instrução RESTORE LOG.
Observação
Após um backup de log típico, alguns registros de log de transações ficam inativos, a menos que você especifique WITH NO_TRUNCATE ou COPY_ONLY. O log é truncado depois que todos os registros em um ou mais arquivos de log virtuais se tornam inativos. Se o log não estiver sendo truncado após backups de log de rotina, algo pode estar atrasando o truncamento do log. Para obter mais informações, consulte Fatores que podem atrasar o truncamento de log.
GRUPO (<base de dados>, ... n)
Aplica-se a: SQL Server 2022 (16.x) e versões posteriores.
Faça backup de um grupo de bancos de dados. Usa backup de snapshot. Requer WITH METADATA_ONLY. Veja Crie um Transact-SQL backup de snapshot.
SERVIDOR
Aplica-se a: SQL Server 2022 (16.x) e versões posteriores.
Faça backup de todas as bases de dados numa instância do SQL Server. Usa backup de snapshot. Requer WITH METADATA_ONLY. Veja Crie um Transact-SQL backup de snapshot.
METADATA_ONLY
Aplica-se a: SQL Server 2022 (16.x) e versões posteriores.
Necessário para backup de snapshot.
BACKUP SERVER, ou BACKUP GROUP... Veja Crie uma Transact-SQL backup de snapshot.
METADATA_ONLY é sinónimo de SNAPSHOT. A interface de dispositivo virtual (VDI) usa SNAPSHOTo . Para obter informações sobre VDI, consulte de referência da interface de dispositivo virtual (VDI).
{ database_name | @database_name_var }
O banco de dados do qual é feito backup do log de transações, do banco de dados parcial ou do banco de dados completo. Se fornecido como uma variável (@database_name_var), esse nome pode ser especificado como uma constante de cadeia de caracteres (@database_name_var = nome do banco de dados) ou como uma variável do tipo de dados de cadeia de caracteres, exceto para os tipos de dados ntext ou text .
Observação
Não é possível fazer backup do banco de dados espelho em uma parceria de espelhamento de banco de dados.
< > file_or_filegroup [ , ... n ]
Usado somente com BACKUP DATABASE, especifica um arquivo de banco de dados ou grupo de arquivos a ser incluído em um backup de arquivo ou especifica um arquivo somente leitura ou grupo de arquivos a ser incluído em um backup parcial.
ARQUIVO = { logical_file_name | @logical_file_name_var }
O nome lógico de um arquivo ou variável cujo valor equivale ao nome lógico de um arquivo que deve ser incluído no backup.
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
O nome lógico de um grupo de arquivos ou uma variável cujo valor equivale ao nome lógico de um grupo de arquivos que deve ser incluído no backup. No modelo de recuperação simples, um backup de grupo de arquivos é permitido apenas para um grupo de arquivos somente leitura.
Observação
Considere o uso de backups de arquivos quando o tamanho do banco de dados e os requisitos de desempenho tornarem um backup de banco de dados impraticável. O dispositivo NUL pode ser usado para testar o desempenho de backups, mas não deve ser usado em ambientes de produção.
n
Um espaço reservado que indica que vários arquivos e grupos de arquivos podem ser especificados em uma lista separada por vírgula. O número é ilimitado.
Para mais informações, consulte Full File Backups (SQL Server) e Backup Files and Filegroups.
READ_WRITE_FILEGROUPS [ , FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var } [ , ... n ] ]
Especifica um backup parcial. Um backup parcial inclui todos os arquivos de leitura/gravação em um banco de dados: o grupo de arquivos primário e quaisquer grupos de arquivos secundários de leitura/gravação, e também quaisquer arquivos ou grupos de arquivos somente leitura especificados.
READ_WRITE_FILEGROUPS
Especifica que seja feito backup de todos os grupos de arquivos de leitura/gravação no backup parcial. Se o banco de dados for somente leitura, READ_WRITE_FILEGROUPS incluirá apenas o grupo de arquivos primário.
Importante
Listar explicitamente os grupos de arquivos de leitura/gravação usando FILEGROUP em vez de READ_WRITE_FILEGROUPS cria um backup de arquivo.
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
O nome lógico de um grupo de arquivos somente leitura ou uma variável cujo valor equivale ao nome lógico de um grupo de arquivos somente leitura que deve ser incluído no backup parcial. Para obter mais informações, consulte "<file_or_filegroup>", anteriormente neste artigo.
n
Um espaço reservado que indica que vários grupos de arquivos somente leitura podem ser especificados em uma lista separada por vírgula.
Para mais informações sobre backups parciais, consulte Partial Backups (SQL Server).
A backup_device <> [ , ... n ]
Indica que o conjunto de dispositivos de backup que acompanha é um conjunto de mídia não espelhado ou o primeiro dos espelhos dentro de um conjunto de mídia espelhada (para o qual uma ou mais MIRROR TO cláusulas são declaradas).
<backup_device>
Especifica um dispositivo de backup lógico ou físico a ser usado para a operação de backup.
{ logical_device_name | @logical_device_name_var }
Aplica-se a: SQL Server.
O nome lógico do dispositivo de backup para o qual é feito backup do banco de dados. O nome lógico deve seguir as regras para identificadores. Se fornecido como uma variável (@logical_device_name_var), o nome do dispositivo de backup pode ser especificado como uma constante de cadeia de caracteres (@logical_device_name_var = nome do dispositivo de backup lógico) ou como uma variável de qualquer tipo de dados de cadeia de caracteres, exceto para os tipos de dados ntext ou text .
{ DISCO | FITA | URL} = { 'physical_device_name' | @physical_device_name_var | 'NUL' }
Aplica-se a: SQL Server.
Especifica um arquivo de disco ou dispositivo de fita ou uma URL.
O formato URL é utilizado para criar backups para o Microsoft Azure Blob Storage ou para armazenamento de objetos compatível com S3. Para mais informações e exemplos, consulte:
- SQL Server backup e restauração com Azure Blob Storage e Quickstart: backup e restauração SQL para Azure Blob Storage.
- O backup e restauro para armazenamento compatível com S3 foi introduzido no SQL Server 2022 (16.x). Revise Faça backup e restaure SQL Server com armazenamento de objetos compatível com S3. Veja também a opção de SQL Server backup até URL para armazenamento de objetos compatível com S3.
Pode fazer backup para o Microsoft Azure Blob Storage usando uma identidade gerida começando por:
- SQL Server 2025 (17.x): Backup para URL com identidade gerida - SQL Server ativado por Azure Arc
- SQL Server 2022 (16.x) 17 para SQL Server em VMs Azure: Backup e restauro para URL usando identidades geridas
Observação
O dispositivo de disco NUL descarta todas as informações enviadas a ele e só deve ser usado para testes. Isso não é para uso em produção.
Importante
A partir do SQL Server 2012 (11.x) SP1 CU2 até ao SQL Server 2014 (12.x), só pode fazer backup para um único dispositivo ao fazer backup para URL do Azure Blob Storage. Para fazer backup em vários dispositivos ao fazer backup para URL, deve usar o SQL Server 2016 (13.x) e versões posteriores e deve usar tokens de Assinatura de Acesso Partilhada (SAS). Para exemplos de criação de uma Assinatura de Acesso Partilhada, veja SQL Server backup para URL para Azure Blob Storage e Simplificando a criação de Credenciais SQL com tokens de Assinatura de Acesso Partilhada (SAS) em Azure Storage com PowerShell.
Um dispositivo de disco não precisa existir antes de ser especificado em uma BACKUP instrução. Se o dispositivo físico existir e a INIT opção não for especificada na BACKUP instrução, o backup será anexado ao dispositivo.
O dispositivo NUL descarta todas as entradas enviadas para este arquivo, no entanto, o backup ainda marca todas as páginas como backup.
Para mais informações, consulte Backup Devices (SQL Server).
Observação
A opção TAPE será removida numa versão futura do SQL Server. Evite usar esse recurso em novos trabalhos de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso.
n
Um espaço reservado que indica que até 64 dispositivos de backup podem ser especificados em uma lista separada por vírgula.
ESPELHO PARA <backup_device> [ , ... n ]
Especifica um conjunto de até três dispositivos de backup secundários, cada um dos quais espelha os dispositivos de backup especificados na TO cláusula. A MIRROR TO cláusula deve especificar o mesmo tipo e número de dispositivos de backup que a TO cláusula. O número máximo de MIRROR TO cláusulas é três.
Esta opção está disponível apenas na edição Enterprise do SQL Server.
Observação
Para MIRROR TO = DISK, BACKUP determina automaticamente o tamanho de bloco apropriado para dispositivos de disco com base no tamanho do setor do disco. Se o MIRROR TO disco estiver formatado com um tamanho de setor diferente do disco especificado como o dispositivo de backup principal, o comando de backup falhará. Para espelhar backups em dispositivos com tamanhos de setor diferentes, o BLOCKSIZE parâmetro deve ser especificado e definido para o tamanho de setor mais alto entre todos os dispositivos de destino. Para obter mais informações sobre o tamanho do bloco, consulte "BLOCKSIZE" mais adiante neste artigo.
<backup_device>
Veja "<backup_device>", anteriormente nesta seção.
n
Um espaço reservado que indica que até 64 dispositivos de backup podem ser especificados em uma lista separada por vírgula. O número de dispositivos da
MIRROR TOcláusula deve ser igual ao número de dispositivos daTOcláusula.Para obter mais informações, consulte Famílias de mídia em conjuntos de mídia espelhados mais adiante neste artigo.
[ próximo-espelho-para- ]
Um espaço reservado que indica que uma única
BACKUPinstrução pode conter até trêsMIRROR TOcláusulas, além da cláusula únicaTO.
COM opções
Especifica as opções a serem usadas com uma operação de backup.
CREDENCIAL
Aplica-se a: SQL Server.
Usado apenas ao criar um backup para Azure Blob Storage ou armazenamento de objetos compatível com S3.
INSTANTÂNEO_DE_FICHEIRO
Aplica-se a: SQL Server 2016 (13.x) e versões posteriores.
Usado para criar um snapshot no Azure dos ficheiros da base de dados quando todos os ficheiros da base de dados do SQL Server estão armazenados usando o Azure Blob Storage. Para mais informações, consulte SQL Server ficheiros de dados em Microsoft Azure. O SQL Server Snapshot Backup faz snapshots no Azure dos ficheiros da base de dados (dados e ficheiros de registo) num estado consistente. Um conjunto consistente de snapshots do Azure constitui um backup e é registado no ficheiro de backup. A única diferença entre BACKUP DATABASE TO URL WITH FILE_SNAPSHOT e BACKUP LOG TO URL WITH FILE_SNAPSHOT é que o último também trunca o log de transações, enquanto o primeiro não. Com o SQL Server Snapshot Backup, após o backup inicial completo que é necessário pelo SQL Server para estabelecer a cadeia de backup, é necessário apenas um único backup do registo de transações para restaurar uma base de dados até ao momento do backup do registo de transações. Além disso, apenas dois backups de log de transações são necessários para restaurar um banco de dados para um ponto no tempo entre o tempo dos dois backups de log de transações.
DIFERENCIAL
Usado somente com BACKUP DATABASE, especifica que o backup de banco de dados ou arquivo deve consistir apenas nas partes do banco de dados ou arquivo alterado desde o último backup completo. Um backup diferencial geralmente ocupa menos espaço do que um backup completo. Use essa opção para que todos os backups de log individuais executados desde o último backup completo não precisem ser aplicados.
Observação
Por padrão, BACKUP DATABASE cria um backup completo.
Para mais informações, consulte Backups diferenciais (SQL Server).
ENCRIPTAÇÃO
Usado para especificar a criptografia para um backup. Você pode especificar um algoritmo de criptografia para criptografar o backup ou especificar NO_ENCRYPTION não ter o backup criptografado. A encriptação é uma prática recomendada para ajudar a proteger os ficheiros de cópia de segurança. A lista de algoritmos que você pode especificar são:
AES_128AES_192AES_256TRIPLE_DES_3KEYNO_ENCRYPTION
Se você optar por criptografar, também terá que especificar o criptografador usando as opções de criptografia:
-
SERVER CERTIFICATE= Encryptor_Name -
SERVER ASYMMETRIC KEY= Encryptor_Name
O SERVER CERTIFICATE e SERVER ASYMMETRIC KEY são um certificado e uma chave assimétrica criados em master banco de dados. Para obter mais informações, consulte CREATE CERTIFICATE e CREATE ASYMMETRIC KEY, respectivamente.
Advertência
Quando a criptografia é usada com o FILE_SNAPSHOT argumento, o próprio arquivo de metadados é criptografado usando o algoritmo de criptografia especificado e o sistema verifica se a criptografia de dados transparente (TDE) foi concluída para o banco de dados. Nenhuma criptografia adicional acontece para os dados em si. O backup falhará se o banco de dados não tiver sido criptografado ou se a criptografia não tiver sido concluída antes da instrução de backup ser emitida.
Opções do conjunto de backup
Essas opções operam no conjunto de backup criado por essa operação de backup.
Observação
Para especificar um conjunto de backup para uma operação de restauração, use a opção FILE = <backup_set_file_number>. Para obter mais informações sobre como especificar um conjunto de backup, consulte "Especificando um conjunto de backup" em RESTORE Arguments.
SOMENTE_CÓPIA
Especifica que o backup é um backup somente cópia, o que não afeta a sequência normal de backups. Um backup somente cópia é criado independentemente de seus backups convencionais agendados regularmente. Um backup somente cópia não afeta os procedimentos gerais de backup e restauração do banco de dados.
Os backups somente cópia devem ser usados em situações em que um backup é feito para uma finalidade especial, como fazer backup do log antes de uma restauração de arquivo online. Normalmente, um backup de log somente cópia é usado uma vez e, em seguida, excluído.
Quando usada com
BACKUP DATABASEo , aCOPY_ONLYopção cria um backup completo que não pode servir como uma base diferencial. O bitmap diferencial não é atualizado e os backups diferenciais se comportam como se o backup somente cópia não existisse. Os backups diferenciais subsequentes usam o backup completo convencional mais recente como base.Importante
Se
DIFFERENTIALeCOPY_ONLYforem usados juntos,COPY_ONLYserá ignorado e um backup diferencial será criado.Quando usada com
BACKUP LOGo , aCOPY_ONLYopção cria um backup de log somente cópia, que não trunca o log de transações. O backup de log somente cópia não tem efeito na cadeia de logs, e outros backups de log se comportam como se o backup somente cópia não existisse.
Para obter mais informações, consulte Backups apenas de cópia.
[ COMPRESSÃO [ ( ALGORITMO = { MS_XPRESS | ZSTD | accelerator_algorithm } [ , NÍVEL = { BAIXO | MÉDIO | ALTO } ] ) ] | NO_COMPRESSION ]
Especifica se de compactação de backup é executada nesse backup, substituindo o padrão no nível do servidor.
Na instalação, o comportamento padrão é sem compactação de backup. Mas esse padrão pode ser alterado definindo o padrão de compactação de backup opção de configuração do servidor. Para informações sobre como visualizar o valor atual desta opção, veja Ver ou alterar propriedades do servidor (SQL Server).
Para obter informações sobre como usar a compactação de backup com bancos de dados habilitados para TDE (criptografia de dados transparente), consulte a seção Comentários .
O algoritmo de compressão ZSTD está disponível a partir do SQL Server 2025 (17.x).
COMPRESSÃO
Permite explicitamente a compactação de backup.
NO_COMPRESSION
Desativa explicitamente a compactação de backup.
NÍVEL
Aplica-se a: SQL Server 2022 (16.x) e versões posteriores.
Este é um parâmetro opcional que especifica o nível de compactação. Afeta
ALGORITHM = MS_EXPRESSe, a partir de SQL Server 2025 (17.x),ALGORITHM = ZSTD.Os valores aceitáveis são:
-
LOW(padrão) MEDIUMHIGH
-
ALGORITMO
Aplica-se a: SQL Server 2022 (16.x) e versões posteriores.
ZSTDeMS_EXPRESSsão algoritmos de nível de software.QAT_DEFLATEé um algoritmo baseado em hardware que requer a Intel® QuickAssist Technology (QAT) para SQL Server. A predefinição éMS_XPRESS.Para usar o algoritmo de compressão ZSTD introduzido no SQL Server 2025 (17.x):
BACKUP DATABASE <database_name> TO DISK WITH COMPRESSION (ALGORITHM = ZSTD, LEVEL = MEDIUM)Se você configurou de aceleração e descarregamento integrados, poderá usar um acelerador fornecido pela solução. Por exemplo, se você configurou Configurar aceleração e descarregamento integrados, o exemplo a seguir conclui o backup com a solução aceleradora, com a biblioteca QATzip usando
QZ_DEFLATEcom o nível de compactação 1.BACKUP DATABASE <database_name> TO DISK WITH COMPRESSION (ALGORITHM = QAT_DEFLATE)Exemplos de comportamentos:
Instrução de backup Outcome BACKUP DATABASE *database_name* TO {DISK | TAPE | URL} WITH NO_COMPRESSIONBackup sem qualquer compressão BACKUP DATABASE *database_name* TO {DISK | TAPE | URL} WITH COMPRESSIONBackup com compactação usando o algoritmo especificado pela opção backup compression algorithmde servidor (padrãoMS_XPRESS)BACKUP DATABASE *database_name* TO {DISK | TAPE | URL} WITH COMPRESSION (ALGORITHM = MS_XPRESS)Backup com compactação usando MS_XPRESSalgoritmoBACKUP DATABASE *database_name* TO {DISK | TAPE | URL} WITH COMPRESSION (ALGORITHM = ZSTD)Backup com compressão usando algoritmo ZSTD. BACKUP DATABASE *database_name* TO {DISK | TAPE | URL} WITH COMPRESSION (ALGORITHM = ZSTD, LEVEL = HIGH)Backup com compressão usando algoritmo ZSTD com nível HIGHde compressão.
DESCRIÇÃO = { 'texto' | @text_variable }
Especifica o texto de forma livre que descreve o conjunto de backup. A cadeia de caracteres pode ter no máximo 255 caracteres.
NOME = { backup_set_name | @backup_set_var }
Especifica o nome do conjunto de backup. Os nomes podem ter no máximo 128 caracteres. Se NAME não for especificado, ficará em branco.
{ EXPIRADO = 'data' | RETENÇÕES = dias }
Especifica quando o conjunto de backup para esse backup pode ser substituído. Se ambas as opções forem usadas, RETAINDAYS tem precedência sobre EXPIREDATE.
Se nenhuma das opções for especificada, a data de expiração será determinada pela definição de configuração media retention. Para obter mais informações, consulte Opções de configuração do Server.
Importante
Estas opções apenas impedem que o SQL Server sobrescrita um ficheiro. As fitas podem ser apagadas usando outros métodos e os arquivos de disco podem ser excluídos através do sistema operacional. Para obter mais informações sobre a verificação de expiração, consulte SKIP e FORMATAR neste artigo.
EXPIREDATE= { 'data' | @date_var }Especifica quando o conjunto de backup expira e pode ser substituído. Se fornecida como uma variável (@date_var), essa data deve seguir o formato datetime do sistema configurado e ser especificada como uma das seguintes:
- Uma constante de cadeia de caracteres (@date_var = data)
- Uma variável de tipo de dados de cadeia de caracteres (exceto para os tipos de dados ntext ou texto dados)
- Um smalldatetime
- Uma variável datetime variável
Por exemplo:
'Dec 31, 2020 11:59 PM''1/1/2021'
Para obter informações sobre como especificar valores de data/hora , consulte Tipos de data e hora.
Observação
Para ignorar a data de validade, use a opção
SKIP.RETAINDAYS= { dias | @days_var }Especifica o número de dias que devem decorrer antes que esse conjunto de mídia de backup possa ser substituído. Se fornecido como uma variável (@days_var), deve ser especificado como um inteiro.
{ METADATA_ONLY | INSTANTÂNEO }
Aplica-se a: SQL Server 2022 (16.x) e versões posteriores.
METADATA_ONLY e SNAPSHOT são sinónimos.
Opções de conjunto de mídia
Essas opções operam no conjunto de mídia como um todo.
{ NÃO | INIT }
Controla se a operação de backup acrescenta ou substitui os conjuntos de backup existentes na mídia de backup. O padrão é anexar ao conjunto de backup mais recente na mídia (NOINIT).
Observação
Para obter informações sobre as interações entre { NOINIT | INIT } e {NOSKIP | SKIP}, consulte Comentários mais adiante neste artigo.
NOINIT
Indica que o conjunto de backup é anexado ao conjunto de mídia especificado, preservando os conjuntos de backup existentes. Se uma senha de mídia for definida para o conjunto de mídia, a senha deverá ser fornecida.
NOINITé o padrão.Para mais informações, consulte conjuntos de media, famílias de media e conjuntos de backup (SQL Server).
INIT
Especifica que todos os conjuntos de backup devem ser substituídos, mas preserva o cabeçalho de mídia. Se
INITfor especificado, qualquer conjunto de backup existente nesse dispositivo será substituído, se as condições permitirem. Por padrão,BACKUPverifica as seguintes condições e não substitui a mídia de backup se qualquer uma das condições existir:- Qualquer conjunto de backup ainda não expirou. Para obter mais informações, consulte as opções
EXPIREDATEeRETAINDAYS. - O nome do
BACKUPconjunto de backup fornecido na instrução, se fornecido, não corresponde ao nome na mídia de backup. Para obter mais informações, consulte aNAMEopção, anteriormente nesta seção.
Para substituir essas verificações, use a opção
SKIP.Para mais informações, consulte conjuntos de media, famílias de media e conjuntos de backup (SQL Server).
- Qualquer conjunto de backup ainda não expirou. Para obter mais informações, consulte as opções
{ NOSKIP | PULAR }
Controla se uma operação de backup verifica a data e a hora de expiração dos conjuntos de backup na mídia antes de substituí-los.
Observação
Para obter informações sobre as interações entre { NOINIT | INIT } e {NOSKIP | SKIP}, consulte Comentários mais adiante neste artigo.
NOSKIP
Instrui a
BACKUPinstrução a verificar a data de expiração de todos os conjuntos de backup na mídia antes de permitir que eles sejam substituídos. Este é o comportamento padrão.PULAR
Desabilita a verificação da expiração e do nome do conjunto de backup que geralmente é executada
BACKUPpela instrução para evitar substituições de conjuntos de backup. Para obter informações sobre as interações entre {INIT|NOINIT} e {NOSKIP|SKIP}, consulte Comentários mais adiante neste artigo.Para exibir as datas de expiração dos conjuntos de backup, consulte a
expiration_datecoluna da tabela de histórico do conjunto de backups .
{ NOFORMATO | FORMATO }
Especifica se o cabeçalho de mídia deve ser gravado nos volumes usados para essa operação de backup, substituindo qualquer cabeçalho de mídia e conjuntos de backup existentes.
NOFORMATO
Especifica que a operação de backup preserva o cabeçalho de mídia e os conjuntos de backup existentes nos volumes de mídia usados para essa operação de backup. Este é o comportamento padrão.
FORMATO
Especifica que um novo conjunto de mídia seja criado. FORMAT faz com que a operação de backup grave um novo cabeçalho de mídia em todos os volumes de mídia usados para a operação de backup. O conteúdo existente do volume torna-se inválido, porque qualquer cabeçalho de mídia existente e conjuntos de backup são substituídos.
Importante
Use
FORMATcuidadosamente. A formatação de qualquer volume de um conjunto de mídia torna todo o conjunto de mídia inutilizável. Por exemplo, se você inicializar uma única fita pertencente a um conjunto de mídia distribuída existente, todo o conjunto de mídia será inutilizado.Especificar FORMAT implica
SKIP;SKIPnão precisa ser explicitamente declarado.
MEDIADESCRIPTION = { texto | @text_variable }
Especifica a descrição do texto de forma livre, máximo de 255 caracteres, do conjunto de mídias.
MEDIANAME = { media_name | @media_name_variable }
Especifica o nome da mídia para todo o conjunto de mídia de backup. O nome da mídia não deve ter mais de 128 caracteres. Se MEDIANAME for especificado, ele deverá corresponder ao nome de mídia especificado anteriormente já existente nos volumes de backup. Se não for especificado, ou se a SKIP opção for especificada, não haverá verificação do nome da mídia.
BLOCKSIZE = { blocksize | @blocksize_variable }
Especifica o tamanho do bloco físico, em bytes. Os tamanhos suportados são 512, 1024, 2048, 4096, 8192, 16384, 32768 e 65536 (64 KB) bytes. O padrão é 65536 para dispositivos de fita e 512 caso contrário. Normalmente, essa opção é desnecessária porque BACKUP seleciona automaticamente um tamanho de bloco apropriado para o dispositivo. A indicação explícita de um tamanho de bloco substitui a seleção automática do tamanho do bloco.
Se estiver a fazer uma cópia de segurança para a qual planeia copiar e restaurar a partir de um CD-ROM, especifique BLOCKSIZE = 2048.
Observação
Essa opção normalmente afeta o desempenho somente ao gravar em dispositivos de fita.
Opções de transferência de dados
BUFFERCOUNT = { buffercount | @buffercount_variable }
Especifica o número total de buffers de E/S a serem usados para a operação de backup. Você pode especificar qualquer número inteiro positivo; no entanto, um grande número de buffers pode causar erros de "falta de memória" devido ao espaço de endereço virtual inadequado no processo de Sqlservr.exe.
O espaço total utilizado pelos buffers é determinado por: BUFFERCOUNT * MAXTRANSFERSIZE.
O aumento BUFFERCOUNT pode reduzir significativamente o tempo de backup ao custo de um maior uso de memória.
Observação
Para obter informações importantes sobre como usar a opção BUFFERCOUNT, consulte a opção transferência de dados BufferCount incorreta pode levar à condição OOM blog.
MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }
Especifica a maior unidade de transferência em bytes a ser usada entre o SQL Server e o meio de backup. Os valores possíveis são múltiplos de 65536 bytes (64 KB) variando até 4.194.304 bytes (4 MB). Em um caso específico de backup para URL para armazenamento de objetos compatível com o S3, MAXTRANSFERSIZE é de 10 MB. Para obter mais informações, veja Observações.
Ao criar backups usando o SQL Writer Service, se a base de dados tiver configurado FILESTREAM (SQL Server), ou incluir grupos de ficheiros otimizados para memória, então o MAXTRANSFERSIZE no momento da restauração deve ser maior ou igual ao MAXTRANSFERSIZE usado quando o backup foi criado.
| Comando | SQL Server 2022 e versões posteriores |
|---|---|
| BACKUP PARA URL - Azure | Padrão 1 MB, máximo 20 MB |
| BACKUP PARA URL - S3 | Padrão 10 MB, máximo 20 MB |
| CÓPIA DE SEGURANÇA PARA DISCO | O padrão é 1 MB, máximo 4 MB |
| BACKUP PARA FITA/VDI | Padrão 64 KB, máximo 4 MB |
Para bancos de dados habilitados para criptografia de dados transparente (TDE) com um único arquivo de dados, o padrão MAXTRANSFERSIZE é 65536 (64 KB). Para bancos de dados criptografados não TDE, o padrão MAXTRANSFERSIZE é 1048576 (1 MB) ao usar backup para DISK, e 65536 (64 KB) ao usar VDI ou TAPE. Para obter mais informações sobre como usar a compactação de backup com bancos de dados criptografados TDE, consulte a seção
Opções de gerenciamento de erros
Essas opções permitem determinar se as somas de verificação de backup estão habilitadas para a operação de backup e se a operação para ao encontrar um erro.
{ NO_CHECKSUM | SOMA VERIFICADA }
Controla se as somas de verificação de backup estão habilitadas.
NO_CHECKSUM
Desabilita explicitamente a geração de somas de verificação de backup (e a validação de somas de verificação de página). Este é o comportamento padrão.
SOMA DE VERIFICAÇÃO
Especifica que a operação de backup verifica cada página em busca de soma de verificação e página rasgada, se habilitada e disponível, e gera uma soma de verificação para todo o backup.
O uso de somas de verificação de backup pode afetar a carga de trabalho e a taxa de transferência de backup.
Para mais informações, consulte Possíveis Erros de Media Durante Backup e Restauro (SQL Server).
{ STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
Controla se uma operação de backup para ou continua depois de encontrar um erro de soma de verificação de página.
STOP_ON_ERROR
Instrui a falhar se uma soma de
BACKUPverificação de página não for verificada. Este é o comportamento padrão.CONTINUE_AFTER_ERROR
Instrui a continuar apesar de
BACKUPencontrar erros, como somas de verificação inválidas ou páginas rasgadas.
Se não for possível fazer backup da parte final do log usando a NO_TRUNCATE opção quando o banco de dados estiver danificado, você poderá tentar um backup de log final especificando CONTINUE_AFTER_ERROR em vez de NO_TRUNCATE.
Para mais informações, consulte Possíveis Erros de Media Durante Backup e Restauro (SQL Server).
Opções de compatibilidade
REINICIAR
Não tem efeito. Esta opção é aceite pela versão quanto à compatibilidade com o SQL Server 2005 Analysis Services (SSAS).
Opções de monitorização
STATS [ = percentagem ]
Exibe uma mensagem sempre que outra porcentagem é concluída e é usada para avaliar o progresso. Se percentage for omitido, SQL Server exibe uma mensagem após cada 10% ser concluído.
A STATS opção informa a porcentagem concluída a partir do limite para relatar o próximo intervalo. Isto é aproximadamente a percentagem especificada; Por exemplo, com , se STATS = 10a quantidade concluída for 40%, a opção pode exibir 43%. Para grandes conjuntos de backup, isso não é um problema, porque a porcentagem concluída se move muito lentamente entre as chamadas de E/S concluídas.
Opções de fita
Essas opções são usadas apenas para TAPE dispositivos. Se um dispositivo que não seja de fita estiver sendo usado, essas opções serão ignoradas.
{ REBOBINAR | NOREWIND }
REBOBINAR
Especifica que o SQL Server liberta e rebobina a fita.
REWINDé o padrão.NOREWIND
Especifica que o SQL Server mantém a fita aberta após a operação de backup. Você pode usar essa opção para ajudar a melhorar o desempenho ao executar várias operações de backup em uma fita.
NOREWINDimplicaNOUNLOAD, e essas opções são incompatíveis dentro de uma únicaBACKUPdeclaração.Observação
Se usar
NOREWIND, a instância de SQL Server mantém a propriedade da unidade de fita até que uma instruçãoBACKUPouRESTOREque esteja a correr no mesmo processo use a opçãoREWINDouUNLOAD, ou a instância do servidor seja desligada. Manter a fita aberta impede que outros processos acessem a fita. Para informações sobre como mostrar uma lista de fitas abertas e fechar uma fita aberta, consulte Backup Devices (SQL Server).
{ DESCARREGAR | NOUNLOAD }
Observação
UNLOAD e NOUNLOAD são configurações de sessão que persistem durante a vida da sessão ou até que ela seja redefinida especificando a alternativa.
DESCARREGAR
Especifica que a fita é automaticamente rebobinada e descarregada quando o backup é concluído.
UNLOADé o padrão quando uma sessão começa.NOUNLOAD
Especifica que, após a operação,
BACKUPa fita permanece carregada na unidade de fita.
Observação
Para um backup em um dispositivo de backup em fita, a opção BLOCKSIZE afetar o desempenho da operação de backup. Essa opção normalmente afeta o desempenho somente ao gravar em dispositivos de fita.
Opções específicas do log
Essas opções são usadas apenas com BACKUP LOG.
Observação
Se você não quiser fazer backups de log, use o modelo de recuperação simples. Para mais informações, consulte Modelos de recuperação (SQL Server).
{ NORECUPERAÇÃO | ESPERA = undo_file_name }
NORECUPERAÇÃO
Faz backup da parte final do log e deixa o banco de dados no estado RESTAURANDO.
NORECOVERYé útil ao fazer failover para um banco de dados secundário ou ao salvar a cauda do log antes de umaRESTOREoperação.Para executar um backup de log de melhor esforço que ignore o truncamento de log e, em seguida, leve o banco de dados para o estado RESTORING atomicamente, use as opções
NO_TRUNCATEeNORECOVERYjuntas.ESPERA = standby_file_name
Faz backup da parte final do log e deixa o banco de dados em um estado e
STANDBYsomente leitura. ASTANDBYcláusula grava dados em espera (executando a reversão, mas com a opção de restaurações adicionais). Usar aSTANDBYopção é equivalente aBACKUP LOG WITH NORECOVERYseguir por umRESTORE WITH STANDBYarquivo .Usar o modo de espera requer um arquivo em espera, especificado por standby_file_name, cuja localização é armazenada no log do banco de dados. Se o ficheiro especificado já existir, o Database Engine sobreescreve-o; se o ficheiro não existir, o Database Engine cria-o. O arquivo em espera torna-se parte do banco de dados.
Esse arquivo contém as alterações revertidas, que devem ser revertidas se
RESTORE LOGas operações forem aplicadas posteriormente. Deve haver espaço em disco suficiente para que o arquivo em espera cresça para que ele possa conter todas as páginas distintas do banco de dados que foram modificadas revertendo transações não confirmadas.
NO_TRUNCATE
Especifica que o registo de transações não deve ser truncado e faz com que o Database Engine tente fazer o backup independentemente do estado da base de dados. Assim, um backup feito com NO_TRUNCATE pode ter metadados incompletos. Esta opção permite fazer backup do log de transações em situações em que o banco de dados está danificado.
A NO_TRUNCATE opção de BACKUP LOG é equivalente a especificar ambos e COPY_ONLYCONTINUE_AFTER_ERROR .
Sem a NO_TRUNCATE opção, o banco de dados deve estar no ONLINE estado. Se o banco de dados estiver no estado SUSPENDED, talvez seja possível criar um backup especificando NO_TRUNCATE. Mas se o banco de dados estiver no OFFLINE estado ou EMERGENCY , BACKUP não é permitido mesmo com NO_TRUNCATE. Para informações sobre estados da base de dados, consulte Estados da base de dados.
Sobre trabalhar com backups do SQL Server
Esta seção apresenta os seguintes conceitos essenciais de backup:
Tipos de BackupTruncamento do Registo de TransaçõesFormatação de Media de BackupTrabalhar com Dispositivos de Backup e Conjuntos de SuportesRestaurar Backups SQL Server
Observação
Para uma introdução ao backup em SQL Server, veja Visão geral do backup (SQL Server).
Tipos de backup
Os tipos de backup suportados dependem do modelo de recuperação do banco de dados, da seguinte maneira
Todos os modelos de recuperação suportam backups completos e diferenciais de dados.
Âmbito da cópia de segurança Tipos de backup Base de dados completa Backups de banco de dados cobrir todo o banco de dados.
Opcionalmente, cada backup de banco de dados pode servir como base de uma série de um ou mais backups diferenciais de banco de dados .Base de dados parcial Os backups parciais abrangem grupos de arquivos de leitura/gravação e, possivelmente, um ou mais arquivos ou grupos de arquivos somente leitura.
Opcionalmente, cada backup parcial pode servir como base de uma série de um ou mais backups parciais diferenciais .Arquivo ou grupo de arquivos Os backups de arquivos abrangem um ou mais arquivos ou grupos de arquivos e são relevantes apenas para bancos de dados que contêm vários grupos de arquivos. No modelo de recuperação simples, os backups de arquivos são essencialmente restritos a grupos de arquivos secundários somente leitura.
Opcionalmente, cada backup de arquivo pode servir como base de uma série de um ou mais backups de arquivos diferenciais .No modelo de recuperação completa ou no modelo de recuperação bulk-logged, os backups convencionais também incluem backups sequenciais de log de transações (ou backups de log ), que são necessários. Cada backup de log abrange a parte do log de transações que estava ativa quando o backup foi criado e inclui todos os registros de log sem backup em um backup de log anterior.
Para minimizar a exposição à perda de trabalho, ao custo da sobrecarga administrativa, você deve agendar backups de log frequentes. O agendamento de backups diferenciais entre backups completos pode reduzir o tempo de restauração, reduzindo o número de backups de log que você precisa restaurar depois de restaurar os dados.
Recomendamos que você coloque backups de log em um volume separado dos backups de banco de dados.
Observação
Antes de criar o primeiro backup de log, você deve criar um backup completo.
Um de backup somente cópia
é um backup completo ou backup de log para fins especiais que é independente da sequência normal de backups convencionais. Para criar um backup somente cópia, especifique a COPY_ONLYopção em suaBACKUPinstrução. Para obter mais informações, consulte Backups apenas de cópia.
Truncamento do log de transações
Para evitar o preenchimento do log de transações de um banco de dados, backups de rotina são essenciais. No modelo de recuperação simples, o truncamento de log ocorre automaticamente após o backup do banco de dados e, no modelo de recuperação completa, após o backup do log de transações. No entanto, por vezes, o processo de truncamento pode ser adiado. Para obter informações sobre fatores que podem atrasar o truncamento do log, consulte O log de transações.
Observação
As opções BACKUP LOG WITH NO_LOG e WITH TRUNCATE_ONLY foram descontinuadas. Se você estiver usando a recuperação do modelo de recuperação completa ou bulk-logged e precisar remover a cadeia de backup de log de um banco de dados, alterne para o modelo de recuperação simples. Para mais informações, consulte Visualize ou altere o modelo de recuperação de uma base de dados (SQL Server).
Formatar mídia de backup
A mídia de backup é formatada por uma BACKUP instrução se e somente se qualquer uma das seguintes opções for verdadeira:
- A opção
FORMATé especificada. - A mídia está vazia.
- A operação está gravando uma fita de continuação.
Trabalhar com dispositivos de backup e conjuntos de mídia
Dispositivos de backup em um conjunto de mídia distribuída (um conjunto de faixas)
Um conjunto de distribuição é um conjunto de arquivos de disco no qual os dados são divididos em blocos e distribuídos em uma ordem fixa. O número de dispositivos de backup usados em um conjunto de distribuição deve permanecer o mesmo (a menos que a mídia seja reinicializada com FORMAT).
O exemplo a seguir grava um backup do banco de dados AdventureWorks2025 em um novo conjunto de mídia distribuída que usa três arquivos de disco.
BACKUP DATABASE AdventureWorks2022
TO DISK = 'X:\SQLServerBackups\AdventureWorks1.bak',
DISK = 'Y:\SQLServerBackups\AdventureWorks2.bak',
DISK = 'Z:\SQLServerBackups\AdventureWorks3.bak'
WITH FORMAT,
MEDIANAME = 'AdventureWorksStripedSet0',
MEDIADESCRIPTION = 'Striped media set for AdventureWorks2022 database';
GO
Depois que um dispositivo de backup é definido como parte de um conjunto de faixas, ele não pode ser usado para um backup de dispositivo único, a menos que FORMAT seja especificado. Da mesma forma, um dispositivo de backup que contém backups não distribuídos não pode ser usado em um conjunto de distribuição a menos que FORMAT seja especificado. Para dividir um conjunto de backup distribuído, use FORMAT.
Se ambos MEDIANAME ou MEDIADESCRIPTION não forem especificados quando um cabeçalho de mídia for gravado, o campo de cabeçalho de mídia correspondente ao item em branco estará vazio.
Trabalhar com um conjunto de mídia espelhado
Normalmente, os backups não são espelhados e BACKUP as instruções simplesmente incluem uma TO cláusula. No entanto, um total de quatro espelhos é possível por conjunto de mídia. Para um conjunto de mídia espelhado, a operação de backup grava em vários grupos de dispositivos de backup. Cada grupo de dispositivos de backup compreende um único espelho dentro do conjunto de mídia espelhado. Cada espelho deve usar a mesma quantidade e o mesmo tipo de dispositivos físicos de backup, que devem ter as mesmas propriedades.
Para fazer backup em um conjunto de mídia espelhado, todos os espelhos devem estar presentes. Para fazer backup em um conjunto de mídia espelhado, especifique a cláusula TO para especificar o primeiro espelho e especifique uma cláusula MIRROR TO para cada espelho adicional.
Para um conjunto de mídia espelhado, cada MIRROR TO cláusula deve listar o mesmo número e tipo de dispositivos que a TO cláusula. O exemplo a seguir grava em um conjunto de mídia espelhado que contém dois espelhos e usa três dispositivos por espelho:
BACKUP DATABASE AdventureWorks2022
TO DISK = 'X:\SQLServerBackups\AdventureWorks1a.bak',
DISK = 'Y:\SQLServerBackups\AdventureWorks2a.bak',
DISK = 'Z:\SQLServerBackups\AdventureWorks3a.bak'
MIRROR TO DISK = 'X:\SQLServerBackups\AdventureWorks1b.bak',
DISK = 'Y:\SQLServerBackups\AdventureWorks2b.bak',
DISK = 'Z:\SQLServerBackups\AdventureWorks3b.bak';
GO
Importante
Este exemplo foi projetado para permitir que você o teste em seu sistema local. Na prática, o backup em vários dispositivos na mesma unidade prejudicaria o desempenho e eliminaria a redundância para a qual os conjuntos de mídia espelhados são projetados.
Famílias de mídia em conjuntos de mídia espelhados
Cada dispositivo de backup especificado na TO cláusula de uma BACKUP instrução corresponde a uma família de mídia. Por exemplo, se a cláusula listar TO três dispositivos, BACKUP grava dados em três famílias de mídia. Em um conjunto de mídia espelhado, cada espelho deve conter uma cópia de cada família de mídia. É por isso que o número de dispositivos deve ser idêntico em todos os espelhos.
Quando vários dispositivos são listados para cada espelho, a ordem dos dispositivos determina qual família de mídia é gravada em um dispositivo específico. Por exemplo, em cada uma das listas de dispositivos, o segundo dispositivo corresponde à segunda família de mídia. Para os dispositivos no exemplo anterior, a correspondência entre dispositivos e famílias de mídia é mostrada na tabela a seguir.
| Espelho | Família Media 1 | Família Media 2 | Família Media 3 |
|---|---|---|---|
| 0 | Z:\AdventureWorks1a.bak |
Z:\AdventureWorks2a.bak |
Z:\AdventureWorks3a.bak |
| 1 | Z:\AdventureWorks1b.bak |
Z:\AdventureWorks2b.bak |
Z:\AdventureWorks3b.bak |
O backup de uma família de mídia deve ser sempre feito no mesmo dispositivo dentro de um espelho específico. Portanto, cada vez que você usar um conjunto de mídia existente, liste os dispositivos de cada espelho na mesma ordem em que foram especificados quando o conjunto de mídia foi criado.
Para mais informações sobre conjuntos de media espelhados, veja Conjuntos de Media de Backup Espelhados (SQL Server). Para mais informações sobre conjuntos de media e famílias de media em geral, veja conjuntos de media, famílias de media e conjuntos de backup (SQL Server).
Restaurar backups do SQL Server
Para restaurar uma base de dados e, opcionalmente, recuperá-la para a pôr online, ou para restaurar um ficheiro ou grupo de ficheiros, use ou a instrução Transact-SQL RESTORE ou as tarefas SQL Server Management Studio Restore. Para mais informações, consulte Visão geral de restauro e recuperação (SQL Server).
Considerações adicionais sobre as opções de BACKUP
Interação de SKIP, NOSKIP, INIT e NOINIT
Esta tabela descreve as interações entre as opções { NOINIT | INIT } e { NOSKIP | SKIP }.
Observação
Se a mídia de fita estiver vazia ou o arquivo de backup de disco não existir, todas essas interações gravarão um cabeçalho de mídia e continuarão. Se a mídia não estiver vazia e não tiver um cabeçalho de mídia válido, essas operações fornecerão feedback informando que essa mídia MTF não é válida e encerrarão a operação de backup.
| Opção Saltar | NOINIT |
INIT |
|---|---|---|
NOSKIP |
Se o volume contiver um cabeçalho de mídia válido, verificará se o nome da mídia corresponde ao MEDIANAMEfornecido, se houver. Se corresponder, acrescenta o conjunto de backup, preservando todos os conjuntos de backup existentes.Se o volume não contiver um cabeçalho de mídia válido, ocorrerá um erro. |
Se o volume contiver um cabeçalho de mídia válido, execute as seguintes verificações:
Se essas verificações forem aprovadas, substituirá todos os conjuntos de backup na mídia, preservando apenas o cabeçalho da mídia. Se o volume não contiver um cabeçalho de mídia válido, gerará um com o uso especificado MEDIANAME e MEDIADESCRIPTION, se houver. |
SKIP |
Se o volume contiver um cabeçalho de mídia válido, acrescentará o conjunto de backup, preservando todos os conjuntos de backup existentes. | Se o volume contiver um cabeçalho de mídia válido 2 , substituirá todos os conjuntos de backup na mídia, preservando apenas o cabeçalho da mídia. Se a mídia estiver vazia, gerará um cabeçalho de mídia usando o MEDIANAME especificado e MEDIADESCRIPTION, se houver. |
1 O usuário deve pertencer ao banco de dados fixo apropriado ou às funções de servidor para executar uma operação de backup.
2 Validade inclui o número da versão MTF e outras informações de cabeçalho. Se a versão especificada não for suportada ou um valor inesperado, ocorrerá um erro.
Compatibilidade
Atenção
Backups criados por versões mais recentes do SQL Server não podem ser restaurados em versões anteriores do SQL Server.
BACKUP suporta a opção RESTART para fornecer compatibilidade retroativa com versões anteriores do SQL Server. Mas RESTART não tem efeito.
Comentários
Os backups de banco de dados ou de log podem ser anexados a qualquer dispositivo de disco ou fita, permitindo que um banco de dados e seus logs de transações sejam mantidos em um local físico.
A declaração BACKUP não é permitida em uma transação explícita ou implícita.
Não é possível fazer backup de um banco de dados nos seguintes estados:
- Restaurando
- Standby
- Somente leitura
As operações de backup entre plataformas, mesmo entre diferentes tipos de processador, podem ser executadas desde que o agrupamento do banco de dados seja suportado pelo sistema operacional.
A partir de SQL Server 2016 (13.x), definir MAXTRANSFERSIZEmaior do que 65536 (64 KB) permite um algoritmo de compressão otimizado para bases de dados encriptadas Transparent data encryption (TDE) que primeiro desencripta uma página, comprime-a e depois a encripta novamente. Se MAXTRANSFERSIZE não for especificado ou se MAXTRANSFERSIZE = 65536 (64 KB) for usado, a compactação de backup com bancos de dados criptografados TDE compactará diretamente as páginas criptografadas e poderá não produzir boas taxas de compactação. Para obter mais informações, consulte compactação de backup para bancos de dados habilitados para TDE.
A partir de SQL Server CU5 (15.x) de 2019, definir MAXTRANSFERSIZE já não é necessário para ativar este algoritmo de compressão otimizado com TDE. Se o comando de backup for especificado WITH COMPRESSION ou a configuração padrão do servidor de compactação de backup for definida como 1, MAXTRANSFERSIZE será automaticamente aumentada para 128 K para habilitar o algoritmo otimizado. Se MAXTRANSFERSIZE for especificado no comando de backup com um valor > 64 K, o valor fornecido será honrado. Por outras palavras, o SQL Server nunca diminui automaticamente o valor, apenas o aumenta. Se você precisar fazer backup de um banco de dados criptografado TDE com
Observação
Há alguns casos em que o MAXTRANSFERSIZE padrão é maior que 64K:
- Quando o banco de dados tem vários arquivos de dados criados, ele usa
MAXTRANSFERSIZE> 64K. - Ao fazer backup para URL para Azure Blob Storage, o predefinido
MAXTRANSFERSIZE = 1048576(1 MB). - Ao executar o backup para URL para armazenamento de objetos compatível com o S3, o padrão
MAXTRANSFERSIZE = 10485760(10 MB).
Mesmo que uma destas condições se aplique, deve definir explicitamente MAXTRANSFERSIZE superior a 64K no comando de backup para obter o algoritmo otimizado de compressão de backup, a menos que esteja em SQL Server CU5 2019 (15.x) ou posterior.
Por defeito, cada operação de backup bem-sucedida adiciona uma entrada no registo de erros do SQL Server e no registo de eventos do sistema. Se você fizer backup do log com muita frequência, essas mensagens de sucesso se acumularão rapidamente, resultando em grandes logs de erro que podem dificultar a localização de outras mensagens. Nesses casos, você pode suprimir essas entradas de log usando o sinalizador de rastreamento 3226, se nenhuma de sua automação ou monitoramento depender dessas entradas. Para obter mais informações, consulte Definir sinalizadores de rastreamento com DBCC TRACEON.
Interoperabilidade
O SQL Server utiliza um processo de backup online para permitir uma cópia de segurança da base de dados enquanto a base de dados ainda está em uso. Durante um backup, a maioria das operações é possível; Por exemplo, INSERT, ou UPDATEDELETE instruções são permitidas durante uma operação de backup.
As operações que não podem ser executadas durante um backup de banco de dados ou log de transações incluem:
Operações de gerenciamento de arquivos, como a instrução
ALTER DATABASE, com as opçõesADD FILEouREMOVE FILE.Reduzir banco de dados ou reduzir operações de arquivo. Isso inclui operações de redução automática.
Se uma operação de backup se sobrepõe a uma operação de gerenciamento de arquivos ou DBCC SHRINK, surge um conflito. Independentemente de qual das operações conflitantes começou primeiro, a segunda operação aguarda o bloqueio definido pela primeira operação atingir o tempo limite (o período de tempo limite é controlado por uma configuração de tempo limite da sessão). Se o bloqueio for liberado durante o período de tempo limite, a segunda operação continuará. Se o bloqueio expirar, a segunda operação falhará.
Metadados
O SQL Server inclui as seguintes tabelas de histórico de backup que acompanham a atividade de backup:
- arquivo de backup
- grupo de arquivos de backup
- Família BackupMediaFamily
- BackupMediaSet
- conjunto de backup
Quando uma restauração é executada, se o conjunto de backup ainda não foi registrado no msdb banco de dados, as tabelas de histórico de backup podem ser modificadas.
Segurança
A partir de SQL Server 2012 (11.x), as opções PASSWORD e MEDIAPASSWORD são descontinuadas para criar backups. Ainda é possível restaurar backups criados com senhas.
Permissões
BACKUP DATABASE e BACKUP LOG são permissões padrão atribuídas a membros da função fixa de servidor sysadmin e às funções fixas de banco de dados db_owner e db_backupoperator.
Problemas de propriedade e permissão no arquivo físico do dispositivo de backup podem interferir em uma operação de backup. Certifique-se de que a conta de arranque do SQL Server precisa de ter permissões de leitura e escrita para o dispositivo de backup e para a pasta onde os ficheiros de backup são gravados. No entanto, sp_addumpdevice, que adiciona uma entrada para um dispositivo de backup nas tabelas do sistema, não verifica as 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 for tentado.
Exemplos
Esta seção contém os seguintes exemplos:
- Um. Faça backup de um banco de dados completo
- B. Fazer backup do banco de dados e registrar
- C. Crie um backup completo dos grupos de arquivos secundários
- D. Crie um backup de arquivo diferencial dos grupos de arquivos secundários
- E. Crie e faça backup em um conjunto de mídia espelhado de uma única família
- F. Crie e faça backup em um conjunto de mídia espelhado multifamiliar
- G. Faça backup em um conjunto de mídia espelhado existente
- H. Criar um backup compactado em um novo conjunto de mídia
- Eu. Volta para Azure Blob Storage
- J. [Backup para armazenamento de objetos compatível com S3]((#j-backing-up-to-s3-compatible-object-storage)
- K. Acompanhe o progresso da instrução de backup
Observação
Os artigos de instruções de backup contêm exemplos adicionais. Para mais informações, consulte Visão geral do backup (SQL Server).
Um. Faça backup de um banco de dados completo
O exemplo a seguir faz backup do banco de dados AdventureWorks2025 em um arquivo de disco.
BACKUP DATABASE AdventureWorks2022
TO DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'
WITH FORMAT;
GO
B. Fazer backup do banco de dados e registrar
O exemplo a seguir faz backup do banco de dados de exemplo AdventureWorks2025, que usa o modelo de recuperação simples por padrão. Para dar suporte a backups de log, o banco de dados AdventureWorks2025 é modificado para usar o modelo de recuperação completa.
Em seguida, o exemplo usa sp_addumpdevice para criar um dispositivo de backup lógico para fazer backup de dados, AdvWorksDatae cria outro dispositivo de backup lógico para fazer backup do log, AdvWorksLog.
Em seguida, o exemplo cria um backup completo do banco de dados para AdvWorksDatae, após um período de atividade de atualização, faz backup do log para AdvWorksLog.
-- To permit log backups, before the full database backup, modify the database
-- to use the full recovery model.
USE master;
GO
ALTER DATABASE AdventureWorks2022 SET RECOVERY FULL;
GO
-- Create AdvWorksData and AdvWorksLog logical backup devices.
USE master;
GO
EXECUTE sp_addumpdevice 'disk', 'AdvWorksData', 'Z:\SQLServerBackups\AdvWorksData.bak';
GO
EXECUTE sp_addumpdevice 'disk', 'AdvWorksLog', 'X:\SQLServerBackups\AdvWorksLog.bak';
GO
-- Back up the full AdventureWorks2022 database.
BACKUP DATABASE AdventureWorks2022 TO AdvWorksData;
GO
-- Back up the AdventureWorks2022 log.
BACKUP LOG AdventureWorks2022 TO AdvWorksLog;
GO
Observação
Para um banco de dados de produção, faça backup do log regularmente. Os backups de log devem ser frequentes o suficiente para fornecer proteção suficiente contra perda de dados.
C. Crie um backup completo dos grupos de arquivos secundários
O exemplo a seguir cria um backup completo de cada arquivo em ambos os grupos de arquivos secundários.
--Back up the files in SalesGroup1:
BACKUP DATABASE Sales
FILEGROUP = 'SalesGroup1', FILEGROUP = 'SalesGroup2'
TO DISK = 'Z:\SQLServerBackups\SalesFiles.bck';
GO
D. Crie um backup de arquivo diferencial dos grupos de arquivos secundários
O exemplo a seguir cria um backup de arquivo diferencial de cada arquivo em ambos os grupos de arquivos secundários.
--Back up the files in SalesGroup1:
BACKUP DATABASE Sales
FILEGROUP = 'SalesGroup1', FILEGROUP = 'SalesGroup2'
TO DISK = 'Z:\SQLServerBackups\SalesFiles.bck'
WITH DIFFERENTIAL;
GO
E. Crie e faça backup em um conjunto de mídia espelhado de uma única família
O exemplo a seguir cria um conjunto de mídia espelhado contendo uma única família de mídia e quatro espelhos e faz backup do banco de dados AdventureWorks2025 para eles.
BACKUP DATABASE AdventureWorks2022
TO TAPE = '\\.\tape0'
MIRROR TO TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2'
MIRROR TO TAPE = '\\.\tape3'
WITH FORMAT, MEDIANAME = 'AdventureWorksSet0';
F. Crie e faça backup em um conjunto de mídia espelhado multifamiliar
O exemplo a seguir cria um conjunto de mídia espelhada no qual cada espelho consiste em duas famílias de mídia. Em seguida, o exemplo faz backup do banco de dados AdventureWorks2025 para ambos os espelhos.
BACKUP DATABASE AdventureWorks2022
TO TAPE = '\\.\tape0', TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2', TAPE = '\\.\tape3'
WITH FORMAT, MEDIANAME = 'AdventureWorksSet1';
G. Faça backup em um conjunto de mídia espelhado existente
O exemplo a seguir acrescenta um conjunto de backup ao conjunto de mídia criado no exemplo anterior.
BACKUP LOG AdventureWorks2022
TO TAPE = '\\.\tape0', TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2', TAPE = '\\.\tape3'
WITH NOINIT, MEDIANAME = 'AdventureWorksSet1';
Observação
NOINIT, que é o padrão, é mostrado aqui para maior clareza.
H. Criar um backup compactado em um novo conjunto de mídia
O exemplo a seguir formata a mídia, criando um novo conjunto de mídias, e executa um backup completo compactado do banco de dados AdventureWorks2025.
BACKUP DATABASE AdventureWorks2022
TO DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'
WITH FORMAT, COMPRESSION;
Eu. Backup to Microsoft Azure Blob Storage
Este exemplo realiza uma cópia de segurança completa da base de dados de Sales para Azure Blob Storage. O nome da conta de armazenamento é mystorageaccount. O recipiente é chamado myfirstcontainer. Uma política de acesso armazenado já foi criada com direitos de leitura, gravação, exclusão e lista. A credencial SQL Server, https://mystorageaccount.blob.core.windows.net/myfirstcontainer, foi criada usando uma Assinatura de Acesso Partilhada associada à Política de Acesso Armazenado. Para informações sobre SQL Server backup para Azure Blob Storage, veja SQL Server backup e restore com Azure Blob Storage e SQL Server backup para URL para Azure Blob Storage.
BACKUP DATABASE Sales
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales.bak'
WITH STATS = 5;
Você também pode fazer backup do banco de dados em várias faixas e ficaria assim:
BACKUP DATABASE Sales
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-01.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-02.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-03.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-04.bak'
WITH COPY_ONLY;
J. Backup para armazenamento de objetos compatível com S3
Aplica-se a: SQL Server 2022 (16.x) e versões posteriores.
Este exemplo executa um banco de dados de backup completo do banco de dados Sales para a plataforma de armazenamento de objetos compatível com o S3. O nome da credencial não é necessário na instrução ou para corresponder ao caminho exato da URL, mas executa uma pesquisa para a credencial adequada na URL fornecida. Para mais informações, consulte Backup e restauração SQL Server com armazenamento de objetos compatível com S3.
BACKUP DATABASE Sales
TO URL = 's3://10.10.10.10:8787/sqls3backups/sales_01.bak',
URL = 's3://10.10.10.10:8787/sqls3backups/sales_02.bak',
URL = 's3://10.10.10.10:8787/sqls3backups/sales_03.bak'
WITH FORMAT, STATS = 10, COMPRESSION;
K. Acompanhe o progresso da instrução de backup
A consulta a seguir retorna informações sobre as instruções de backup em execução no momento:
SELECT a.text AS query,
start_time,
percent_complete,
dateadd(second, estimated_completion_time / 1000, getdate()) AS eta
FROM sys.dm_exec_requests AS r
CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) AS a
WHERE r.command LIKE 'BACKUP%';
Conteúdo relacionado
- dispositivos de backup
- Conjuntos de mídia, famílias de mídia e conjuntos de backup
- Backups de tail-log
- ALTER DATABASE (Transact-SQL)
- DBCC SQLPERF (Transact-SQL)
- Instruções RESTORE (Transact-SQL)
- RESTORE FILELISTONLY (Transact-SQL)
- RESTAURAR HEADERONLY (Transact-SQL)
- RESTORE LABELONLY (Transact-SQL)
- RESTORE VERIFYONLY (Transact-SQL)
- sp_addumpdevice
- sp_configure
- sp_helpfile
- sp_helpfilegroup
- Opções de configuração do Server
- Restauração fragmentada de bancos de dados com tabelas Memory-Optimized
* SQL Managed Instance *
Plataforma de análise
Sistema (PDW)
Azure SQL Managed Instance
Faz backup de uma base de dados SQL no Azure SQL Managed Instance.
Azure SQL Managed Instance tem backups automáticos. Você pode criar backups completos de COPY_ONLY de banco de dados. Não há suporte para backups diferenciais, de log e de instantâneos de arquivos.
Também se aplica ao SQL Managed Instance ativado por Azure Arc.
Sintaxe
BACKUP DATABASE { database_name | @database_name_var }
TO URL = { 'physical_device_name' | @physical_device_name_var } [ , ...n ]
WITH COPY_ONLY [ , { <general_WITH_options> } ]
[ ; ]
<general_WITH_options> [ , ...n ] ::=
--Media set options
MEDIADESCRIPTION = { 'text' | @text_variable }
| MEDIANAME = { media_name | @media_name_variable }
| BLOCKSIZE = { blocksize | @blocksize_variable }
--Data Transfer Options
BUFFERCOUNT = { buffercount | @buffercount_variable }
| MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }
--Error Management Options
{ NO_CHECKSUM | CHECKSUM }
| { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
--Compatibility Options
RESTART
--Monitoring Options
STATS [ = percentage ]
--Encryption Options
ENCRYPTION (ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY } , encryptor_options ) <encryptor_options> ::=
SERVER CERTIFICATE = Encryptor_Name | SERVER ASYMMETRIC KEY = Encryptor_Name
Argumentos
BASE DE DADOS
Especifica um backup completo do banco de dados. Durante um backup de base de dados, o Azure SQL Managed Instance faz backup suficiente do registo de transações para produzir uma base de dados consistente quando o backup é restaurado.
Importante
Um backup de base de dados criado numa instância gerida só pode ser restaurado noutra Azure SQL Managed Instance ou apenas numa instância SQL Server 2022. Isto deve-se ao facto de o SQL Managed Instance ter uma versão interna da base de dados superior em comparação com outras versões do SQL Server. Para mais informações, consulte Restaurar uma SQL Managed Instance backup de base de dados para SQL Server 2022.
Quando você restaura um backup criado por BACKUP DATABASE (um backup de dados), todo o backup é restaurado. Para restaurar a partir de backups automáticos SQL Managed Instance, veja Restaurar uma base de dados para um Azure SQL Managed Instance.
{ database_name | @database_name_var }
O banco de dados do qual o backup do banco de dados completo é feito. Se fornecido como uma variável (@database_name_var), esse nome pode ser especificado como uma constante de cadeia de caracteres (@database_name_var = nome do banco de dados) ou como uma variável do tipo de dados de cadeia de caracteres, exceto para os tipos de dados ntext ou text .
Para obter mais informações, consulte Backups completos de arquivos e Fazer backup de arquivos e grupos de arquivos.
PARA URL
Especifica a URL a ser usada para a operação de backup. O formato URL é usado para criar backups para o serviço de armazenamento Microsoft Azure.
Importante
Para fazer backup em vários dispositivos ao fazer backup em URL, você deve usar tokens SAS (Assinatura de Acesso Compartilhado). Para exemplos de criação de uma Assinatura de Acesso Partilhada, veja SQL Server Backup para URL e Simplificando a criação de credenciais SQL com tokens de Assinatura de Acesso Partilhada (SAS) em Azure Storage com PowerShell.
n
Um espaço reservado que indica que até 64 dispositivos de backup podem ser especificados em uma lista separada por vírgula.
COM opções
Especifica as opções a serem usadas com uma operação de backup.
ENCRIPTAÇÃO
Usado para especificar a criptografia para um backup. Você pode especificar um algoritmo de criptografia para criptografar o backup ou especificar NO_ENCRYPTION não ter o backup criptografado. A encriptação é uma prática recomendada para ajudar a proteger os ficheiros de cópia de segurança. A lista de algoritmos que você pode especificar são:
AES_128AES_192AES_256TRIPLE_DES_3KEYNO_ENCRYPTION
Se você optar por criptografar, também terá que especificar o criptografador usando as opções de criptografia:
SERVER CERTIFICATE = <Encryptor_Name>SERVER ASYMMETRIC KEY = <Encryptor_Name>
Opções do conjunto de backup
SOMENTE_CÓPIA
Especifica que o backup é um backup somente cópia, o que não afeta a sequência normal de backups. Um backup apenas com cópia é criado independentemente dos backups automáticos do Azure SQL Database. Para obter mais informações, consulte Copy-Only Backups.
{ COMPRESSÃO | NO_COMPRESSION }
Especifica se de compactação de backup é executada nesse backup, substituindo o padrão no nível do servidor.
O comportamento padrão é sem compactação de backup. Mas esse padrão pode ser alterado definindo o padrão de compactação de backup opção de configuração do servidor. Para obter informações sobre como exibir o valor atual dessa opção, consulte Exibir ou alterar propriedades do servidor.
COMPRESSÃO
Permite explicitamente a compactação de backup.
NO_COMPRESSION
Desativa explicitamente a compactação de backup.
DESCRIÇÃO = { 'texto' | @text_variable }
Especifica o texto de forma livre que descreve o conjunto de backup. A cadeia de caracteres pode ter no máximo 255 caracteres.
NOME = { backup_set_name | @_backup|set_var }
Especifica o nome do conjunto de backup. Os nomes podem ter no máximo 128 caracteres. Se NAME não for especificado, ficará em branco.
MEDIADESCRIPTION = { texto | @text_variable }
Especifica a descrição do texto de forma livre, máximo de 255 caracteres, do conjunto de mídias.
MEDIANAME = { media_name | @media_name_variable }
Especifica o nome da mídia para todo o conjunto de mídia de backup. O nome da mídia não deve ter mais de 128 caracteres, Se MEDIANAME for especificado, ele deve corresponder ao nome de mídia especificado anteriormente já existente nos volumes de backup. Se não for especificado, ou se a SKIP opção for especificada, não haverá verificação do nome da mídia.
BLOCKSIZE = { blocksize | @blocksize_variable }
Especifica o tamanho do bloco físico, em bytes. Os tamanhos suportados são 512, 1024, 2048, 4096, 8192, 16384, 32768 e 65536 (64 KB) bytes. O padrão é 65536 para dispositivos de fita e 512 caso contrário. Normalmente, essa opção é desnecessária porque BACKUP seleciona automaticamente um tamanho de bloco apropriado para o dispositivo. A indicação explícita de um tamanho de bloco substitui a seleção automática do tamanho do bloco.
Opções de transferência de dados
BUFFERCOUNT = { buffercount | @buffercount_variable }
Especifica o número total de buffers de E/S a serem usados para a operação de backup. Você pode especificar qualquer número inteiro positivo; no entanto, um grande número de buffers pode causar erros de "falta de memória" devido ao espaço de endereço virtual inadequado no processo de Sqlservr.exe.
O espaço total utilizado pelos buffers é determinado por: BUFFERCOUNT * MAXTRANSFERSIZE.
Observação
Para obter informações importantes sobre como usar a opção BUFFERCOUNT, consulte a postagem do blog opção de transferência de dados BufferCount incorreta pode levar à condição OOM.
MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }
Especifica a maior unidade de transferência em bytes a ser usada entre o SQL Server e o meio de backup. Os valores possíveis são múltiplos de 65536 bytes (64 KB) variando até 4.194.304 bytes (4 MB).
| Comando | Azure SQL Managed Instance Política de atualização do SQL Server 2022 ou SQL Server 2025 |
Azure SQL Managed Instance Política de encontros sempreup-to |
|---|---|---|
| BACKUP PARA URL - Azure | Dinâmica, escolhida pelo serviço para backups automáticos. Para backups COPY_ONLY: Padrão 1 MB, máximo 100 MB |
Dinâmica, escolhida pelo serviço para backups automáticos. Para backups COPY_ONLY: Padrão 1 MB, máximo 100 MB |
Para bases de dados com encriptação de dados transparente (TDE) ativada com um único ficheiro de dados, o padrão MAXTRANSFERSIZE é 65536 (64 KB). Para bancos de dados criptografados não-TDE, o padrão MAXTRANSFERSIZE é 1048576 (1 MB) ao usar backup para DISK, e 65536 (64 KB) ao usar VDI ou TAPE.
Observação
MAXTRANSFERSIZE especifica a maior unidade de transferência e não garante que cada operação de gravação transfira o maior tamanho especificado.
MAXTRANSFERSIZE para operações de gravação de backups de log de transações distribuídas é definido como 64 KB.
Opções de gerenciamento de erros
Essas opções permitem determinar se as somas de verificação de backup estão habilitadas para a operação de backup e se a operação para ao encontrar um erro.
{ NO_CHECKSUM | SOMA VERIFICADA }
Controla se as somas de verificação de backup estão habilitadas.
NO_CHECKSUM
Desabilita explicitamente a geração de somas de verificação de backup (e a validação de somas de verificação de página). Este é o comportamento padrão.
SOMA DE VERIFICAÇÃO
Especifica que a operação de backup verifica cada página em busca de soma de verificação e página rasgada, se habilitada e disponível, e gera uma soma de verificação para todo o backup.
O uso de somas de verificação de backup pode afetar a carga de trabalho e a taxa de transferência de backup.
Para obter mais informações, consulte possíveis erros de mídia durante o backup e a restauração.
{ STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
Controla se uma operação de backup para ou continua depois de encontrar um erro de soma de verificação de página.
STOP_ON_ERROR
Instrui a falhar se uma soma de
BACKUPverificação de página não for verificada. Este é o comportamento padrão.CONTINUE_AFTER_ERROR
Instrui a continuar apesar de
BACKUPencontrar erros, como somas de verificação inválidas ou páginas rasgadas.
Se não for possível fazer backup da parte final do log usando a NO_TRUNCATE opção quando o banco de dados estiver danificado, você poderá tentar um backup de log final especificando CONTINUE_AFTER_ERROR em vez de NO_TRUNCATE.
Para obter mais informações, consulte possíveis erros de mídia durante o backup e a restauração.
Opções de compatibilidade
REINICIAR
Não tem efeito. Esta opção é aceite pela versão quanto à compatibilidade com versões anteriores do SQL Server.
Opções de monitorização
STATS [ = percentagem ]
Exibe uma mensagem sempre que outra porcentagem é concluída e é usada para avaliar o progresso. Se percentage for omitido, SQL Server exibe uma mensagem após cada 10% ser concluído.
A STATS opção informa a porcentagem concluída a partir do limite para relatar o próximo intervalo. Isto é aproximadamente a percentagem especificada; Por exemplo, com , se STATS = 10a quantidade concluída for 40%, a opção pode exibir 43%. Para grandes conjuntos de backup, isso não é um problema, porque a porcentagem concluída se move muito lentamente entre as chamadas de E/S concluídas.
Limitações para SQL Managed Instance
O tamanho máximo da faixa de backup é de 195 GB (tamanho máximo do blob). Aumente o número de faixas no comando backup para reduzir o tamanho da faixa individual e permanecer dentro desse limite.
Segurança
Permissões
BACKUP DATABASE permissões padrão para membros do sysadmin função de servidor fixa e as funções de banco de dados db_owner e db_backupoperator fixas.
Problemas de propriedade e permissão na URL podem interferir em uma operação de backup. O SQL Server deve ser capaz de ler e gravar no dispositivo; a conta sob a qual o serviço SQL Server corre deve ter permissões de escrita.
Exemplos
O exemplo realiza uma cópia de segurança COPY_ONLY de Sales para a Microsoft Azure Blob Storage. O nome da conta de armazenamento é mystorageaccount. O recipiente é chamado myfirstcontainer. Uma política de acesso armazenado foi criada com direitos de leitura, gravação, exclusão e lista. A credencial SQL Server, https://mystorageaccount.blob.core.windows.net/myfirstcontainer, foi criada usando uma Assinatura de Acesso Partilhada associada à Política de Acesso Armazenado. Para informações sobre SQL Server backup para Azure Blob Storage, consulte SQL Server Backup and Restore with Microsoft Azure Blob Storage e SQL Server Backup to URL.
BACKUP DATABASE Sales
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_20160726.bak'
WITH STATS = 5, COPY_ONLY;
Você também pode fazer backup do banco de dados em várias faixas e ficaria assim:
BACKUP DATABASE Sales
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-01.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-02.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-03.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-04.bak'
WITH COPY_ONLY;
Conteúdo relacionado
* Análise
Sistema de plataforma (PDW) *
Sistema de plataforma de análise
Cria um backup de um banco de dados do Analytics Platform System (PDW) e armazena o backup fora do dispositivo em um local de rede especificado pelo usuário. Use esta instrução com RESTORE DATABASE para recuperação de desastres ou para copiar um banco de dados de um dispositivo para outro.
Antes de começar a, consulte "Adquirir e configurar um servidor de backup" na documentação do produto Analytics Platform System (PDW).
Existem dois tipos de backups no Analytics Platform System (PDW). Um de backup de banco de dados completo master inclui logins.
Para obter mais informações sobre backups de banco de dados do Analytics Platform System (PDW), consulte "Backup e restauração" na documentação do produto Analytics Platform System (PDW).
Sintaxe
--Create a full backup of a user database or the master database.
BACKUP DATABASE database_name
TO DISK = '\\UNC_path\backup_directory'
[ WITH [ ( ] <with_options> [ , ...n ] [ ) ] ]
[ ; ]
--Create a differential backup of a user database.
BACKUP DATABASE database_name
TO DISK = '\\UNC_path\backup_directory'
WITH [ ( ] DIFFERENTIAL
[ , <with_options> [ , ...n ] [ ) ] ]
[ ; ]
<with_options> ::=
DESCRIPTION = 'text'
| NAME = 'backup_name'
Argumentos
database_name
O nome do banco de dados no qual criar um backup. O banco de dados pode ser o banco de dados master ou um banco de dados de usuário.
PARA DISCO = '\\UNC_path\backup_directory'
O caminho de rede e o diretório no qual o Analytics Platform System (PDW) gravará os arquivos de backup. Por exemplo, \\\xxx.xxx.xxx.xxx\backups\2012\Monthly\08.2012.Mybackup.
- O caminho para o nome do diretório de backup já deve existir e deve ser especificado como um caminho UNC (convenção universal de nomenclatura) totalmente qualificado.
- O diretório de backup, backup_directory, não deve existir antes de executar o comando de backup. O Analytics Platform System (PDW) cria o diretório de backup.
- O caminho para o diretório de backup não pode ser um caminho local e não pode ser um local em nenhum dos nós do dispositivo PDW (Analytics Platform System).
- O comprimento máximo do caminho UNC e do nome do diretório de backup é de 200 caracteres.
- O servidor ou host deve ser especificado como um endereço IP. Não é possível especificá-lo como o nome do host ou do servidor.
DESCRIÇÃO = 'texto'
Especifica uma descrição textual do backup. O comprimento máximo do texto é de 255 caracteres.
A descrição é armazenada nos metadados e é exibida quando o cabeçalho de backup é restaurado com RESTORE HEADERONLY.
NOME = '_backup nome'
Especifica o nome do backup. O nome do backup pode ser diferente do nome do banco de dados.
- Os nomes podem ter no máximo 128 caracteres.
- Não é possível incluir um caminho.
- Deve começar com um caractere de letra ou número ou um sublinhado (
_). Os caracteres especiais permitidos são o sublinhado (_), hífen (-) ou espaço ( ). Os nomes de backup não podem terminar com um caractere de espaço. - A instrução falhará se backup_name já existir no local especificado.
Esse nome é armazenado nos metadados e é exibido quando o cabeçalho de backup é restaurado com RESTORE HEADERONLY.
DIFERENCIAL
Especifica para executar um backup diferencial de um banco de dados de usuário. Se omitido, o padrão é um backup de banco de dados completo. O nome do backup diferencial não precisa corresponder ao nome do backup completo. Para acompanhar o diferencial e o backup completo correspondente, considere usar o mesmo nome com 'full' ou 'diff' anexado.
Por exemplo:
BACKUP DATABASE Customer TO DISK = '\\xxx.xxx.xxx.xxx\backups\CustomerFull';
BACKUP DATABASE Customer TO DISK = '\\xxx.xxx.xxx.xxx\backups\CustomerDiff' WITH DIFFERENTIAL;
Permissões
Requer a permissão BACKUP DATABASE ou associação na função de banco de dados fixa db_backupoperator. Não master é possível fazer backup do banco de dados, mas por um usuário regular que foi adicionado à função de banco de dados fixa db_backupoperator . O backup do banco de dados master só pode ser feito por sa, pelo administrador da malha ou por membros da função de servidor fixa sysadmin.
Requer uma conta Windows que tenha permissão para aceder, criar e escrever no diretório de backup. Deve também armazenar o nome da conta e a palavra-passe do Windows no Sistema de Plataforma de Análise (PDW). Para adicionar estas credenciais de rede ao Sistema de Plataforma de Análise (PDW), utilize o procedimento armazenado sp_pdw_add_network_credentials - Azure Synapse Analytics.
Para obter mais informações sobre como gerenciar credenciais no Analytics Platform System (PDW), consulte a seção Security.
Tratamento de erros
BACKUP DATABASE Erros nas seguintes condições:
- As permissões de usuário não são suficientes para executar um backup.
- O Analytics Platform System (PDW) não tem as permissões corretas para o local de rede onde o backup será armazenado.
- O banco de dados não existe.
- O diretório de destino já existe no compartilhamento de rede.
- O compartilhamento de rede de destino não está disponível.
- O compartilhamento de rede de destino não tem espaço suficiente para o backup. O
BACKUP DATABASEcomando não confirma a existência de espaço em disco suficiente antes de iniciar o backup, tornando possível gerar um erro de falta de espaço em disco durante a execuçãoBACKUP DATABASEdo . Quando ocorre espaço em disco insuficiente, o Analytics Platform System (PDW) reverte oBACKUP DATABASEcomando. Para diminuir o tamanho da sua base de dados, execute DBCC SHRINKLOG - Sistema de Plataforma de Análise (PDW) - Tente iniciar um backup dentro de uma transação.
Comentários
Antes de realizar uma cópia de segurança da base de dados, utilize o DBCC SHRINKLOG - Sistema de Plataforma de Análise (PDW) para diminuir o tamanho da sua base de dados.
Um backup do Analytics Platform System (PDW) é armazenado como um conjunto de vários arquivos dentro do mesmo diretório.
Um backup diferencial geralmente leva menos tempo do que um backup completo e pode ser executado com mais frequência. Quando vários backups diferenciais são baseados no mesmo backup completo, cada diferencial inclui todas as alterações no backup diferencial anterior.
Se você cancelar um BACKUP comando, o Analytics Platform System (PDW) removerá o diretório de destino e todos os arquivos criados para o backup. Se o Analytics Platform System (PDW) perder a conectividade de rede com o compartilhamento, a reversão não poderá ser concluída.
Backups completos e backups diferenciais são armazenados em diretórios separados. As convenções de nomenclatura não são impostas para especificar que um backup completo e um backup diferencial pertencem juntos. Você pode acompanhar isso através de suas próprias convenções de nomenclatura. Como alternativa, você pode controlar isso usando a WITH DESCRIPTION opção para adicionar uma descrição e, em seguida, usando a RESTORE HEADERONLY instrução para recuperar a descrição.
Limitações
Não é possível executar um backup diferencial do master banco de dados. Somente backups completos do banco de dados master são suportados.
Não há suporte para backups de log de transações do banco de dados do sistema master.
Os arquivos de backup são armazenados em um formato adequado apenas para restaurar o backup para um dispositivo PDW (Analytics Platform System) usando a instrução RESTORE DATABASE .
O backup com a instrução BACKUP DATABASE não pode ser usado para transferir dados ou informações de utilizador para bases de dados SMP SQL Server. Para essa funcionalidade, você pode usar o recurso de cópia remota de tabela. Para obter mais informações, consulte "Remote Table Copy" na documentação do produto Analytics Platform System (PDW).
O Sistema de Plataforma de Análise (PDW) utiliza tecnologia de backup SQL Server para fazer backup e restaurar bases de dados. As opções de backup do SQL Server estão pré-configuradas para usar compressão de backup. Não é possível definir opções de backup, como compactação, soma de verificação, tamanho do bloco e contagem de buffer.
Apenas um backup ou restauração de banco de dados pode ser executado no dispositivo a qualquer momento. O Analytics Platform System (PDW) enfileira os comandos de backup ou restauração até que o comando de backup ou restauração atual seja concluído.
O dispositivo de destino para restaurar o backup deve ter pelo menos tantos nós de computação quanto o dispositivo de origem. O destino pode ter mais nós de computação do que o dispositivo de origem, mas não pode ter menos nós de computação.
O Analytics Platform System (PDW) não rastreia a localização e os nomes dos backups, uma vez que os backups são armazenados fora do dispositivo.
O Analytics Platform System (PDW) rastreia o sucesso ou a falha dos backups de banco de dados.
Um backup diferencial só é permitido se o último backup completo for concluído com êxito. Por exemplo, suponha que na segunda-feira você crie um backup completo do banco de dados Sales e o backup seja concluído com êxito. Então, na terça-feira, você cria um backup completo do banco de dados Sales e ele falha. Após essa falha, não é possível criar um backup diferencial com base no backup completo de segunda-feira. Você deve primeiro criar um backup completo bem-sucedido antes de criar um backup diferencial.
Metadados
Essas exibições de gerenciamento dinâmico contêm informações sobre todas as operações de backup, restauração e carregamento. As informações persistem durante as reinicializações do sistema.
Desempenho
Para executar um backup, o Analytics Platform System (PDW) primeiro faz backup dos metadados e, em seguida, executa um backup paralelo dos dados do banco de dados armazenados nos nós de computação. Os dados são copiados diretamente de cada nó de computação para o diretório de backup. Para obter o melhor desempenho para mover dados dos nós de computação para o diretório de backup, o Analytics Platform System (PDW) controla o número de nós de computação que estão copiando dados simultaneamente.
Bloqueio
Usa um bloqueio ExclusiveUpdate no DATABASE objeto.
Segurança
Os backups do Analytics Platform System (PDW) não são armazenados no dispositivo. Portanto, sua equipe de TI é responsável por gerenciar todos os aspetos da segurança de backup. Por exemplo, isso inclui o gerenciamento da segurança dos dados de backup, a segurança do servidor usado para armazenar backups e a segurança da infraestrutura de rede que conecta o servidor de backup ao dispositivo PDW (Analytics Platform System).
Gerenciar credenciais de rede
O acesso da rede ao diretório de backup é baseado na segurança padrão de compartilhamento de arquivos do sistema operacional. Antes de realizar uma cópia de segurança, precisa de criar ou designar uma conta Windows usada para autenticar o Analytics Platform System (PDW) no diretório de backup. Esta conta do Windows deve ter permissão para aceder, criar e escrever no diretório de backup.
Importante
Para reduzir riscos de segurança com os seus dados, aconselhamos que designe uma conta Windows exclusivamente para realizar operações de backup e restauro. Permita que essa conta tenha permissões para o local de backup e em nenhum outro lugar.
É necessário armazenar o nome de utilizador e a palavra-passe no Sistema de Plataforma de Análise (PDW) executando o procedimento armazenado sp_pdw_add_network_credentials Azure Synapse Analytics. O Sistema de Plataforma de Análise (PDW) utiliza o Gestor de Credenciais do Windows para armazenar e encriptar nomes de utilizador e palavras-passe nos nós de Controlo e de Computação. O backup das credenciais não é feito com o BACKUP DATABASE comando.
Para remover credenciais de rede do Sistema de Plataforma de Análise (PDW), veja sp_pdw_remove_network_credentials - Azure Synapse Analytics.
Para listar todas as credenciais de rede armazenadas no Analytics Platform System (PDW), use a sys.dm_pdw_network_credentials visualização de gerenciamento dinâmico.
Exemplos
Um. Adicionar credenciais de rede para o local de backup
Para criar um backup, o Analytics Platform System (PDW) deve ter permissão de leitura/gravação para o diretório de backup. O exemplo a seguir mostra como adicionar as credenciais para um usuário. O Analytics Platform System (PDW) armazena essas credenciais e as usa para operações de backup e restauração.
Importante
Por motivos de segurança, recomendamos a criação de uma conta de domínio apenas para executar backups.
EXECUTE sp_pdw_add_network_credentials 'xxx.xxx.xxx.xxx', 'domain1\backupuser', '*****';
B. Remover credenciais de rede para o local de backup
O exemplo a seguir mostra como remover as credenciais de um usuário de domínio do Analytics Platform System (PDW).
EXECUTE sp_pdw_remove_network_credentials 'xxx.xxx.xxx.xxx';
C. Criar um backup completo de um banco de dados de usuários
O exemplo a seguir cria um backup completo do banco de dados de usuário Invoices. O Analytics Platform System (PDW) cria o Invoices2013 diretório e salva os arquivos de backup no \\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full diretório.
BACKUP DATABASE Invoices
TO DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full';
D. Criar um backup diferencial de um banco de dados de usuários
O exemplo a seguir cria um backup diferencial, que inclui todas as alterações feitas desde o último backup completo do banco de dados Invoices. O Analytics Platform System (PDW) cria o \\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff diretório para armazenar os arquivos. A descrição 'Backup diferencial de faturas de 2013' é armazenada com as informações de cabeçalho para o backup.
O backup diferencial só é executado com êxito se o último backup completo de Faturas for concluído com êxito.
BACKUP DATABASE Invoices
TO DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff'
WITH DIFFERENTIAL,
DESCRIPTION = 'Invoices 2013 differential backup';
E. Criar um backup completo do master banco de dados
O exemplo a seguir cria um backup completo do banco de dados master e o armazena no diretório \\\xxx.xxx.xxx.xxx\backups\2013\daily\20130722\master, onde IP é um endereço IP de rede.
BACKUP DATABASE master
TO DISK = '\\xxx.xxx.xxx.xxx\backups\2013\daily\20130722\master';
F. Criar um backup das informações de login do dispositivo
O banco de dados master armazena as informações de login do aparelho. Para fazer backup das informações de login do aparelho, você precisa fazer backup do master banco de dados.
O exemplo a seguir cria um backup completo do banco de dados master.
BACKUP DATABASE master TO DISK = '\\xxx.xxx.xxx.xxx\backups\2013\daily\20130722\master'
WITH (
DESCRIPTION = 'Master Backup 20130722',
NAME = 'login-backup'
)
;