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.
Restaura backups de banco de dados SQL feitos usando o comando BACKUP .
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 obter mais informações sobre as convenções de sintaxe, consulte Transact-SQL convenções de sintaxe.
* Servidor SQL *
Plataforma de análise
Sistema (PDW)
SQL Server
Este comando permite executar os seguintes cenários de restauração:
- Restaure um banco de dados inteiro a partir de um backup de banco de dados completo (uma restauração completa).
- Restaurar parte de um banco de dados (uma restauração parcial).
- Restaure arquivos ou grupos de arquivos específicos para um banco de dados (uma restauração de arquivos).
- Restaurar páginas específicas para um banco de dados (uma restauração de página).
- Restaure um log de transações em um banco de dados (uma restauração do log de transações).
- Reverta um banco de dados para o ponto no tempo capturado por um instantâneo de banco de dados.
Outros recursos
- Para obter mais informações sobre cenários de restauração do SQL Server, consulte Visão geral de restauração e recuperação.
- Ao restaurar um banco de dados de outra instância, considere as informações de Gerenciar metadados ao disponibilizar um banco de dados em outra instância do servidor (SQL Server).
- Para obter mais informações sobre como restaurar a partir do Armazenamento de Blobs do Microsoft Azure, consulte Backup e restauração do SQL Server com o Armazenamento de Blobs do Microsoft Azure.
- O backup e a restauração para o armazenamento de objetos compatíveis com o S3 foram introduzidos no SQL Server 2022 (16.x). Para obter mais informações sobre como restaurar a partir do armazenamento de objetos compatível com o S3, consulte Backup e restauração do SQL Server com armazenamento de objetos compatível com o S3. Analise também a opção de backup do SQL Server para URL para armazenamento de objetos compatíveis com o S3.
Sintaxe
- Para obter mais informações sobre descrições dos argumentos, consulte RESTORE Arguments.
--To Restore an Entire Database from a Full database backup (a Complete Restore):
RESTORE DATABASE { database_name | @database_name_var }
[ FROM <backup_device> [ ,...n ] ]
[ WITH
{
[ RECOVERY | NORECOVERY | STANDBY =
{standby_file_name | @standby_file_name_var }
]
| , <general_WITH_options> [ ,...n ]
| , <replication_WITH_option>
| , <change_data_capture_WITH_option>
| , <FILESTREAM_WITH_option>
| , <service_broker_WITH options>
| , <point_in_time_WITH_options-RESTORE_DATABASE>
} [ ,...n ]
]
[;]
--To perform the first step of the initial restore sequence of a piecemeal restore:
RESTORE DATABASE { database_name | @database_name_var }
<files_or_filegroups> [ ,...n ]
[ FROM <backup_device> [ ,...n ] ]
WITH
PARTIAL, NORECOVERY
[ , <general_WITH_options> [ ,...n ]
| , <point_in_time_WITH_options-RESTORE_DATABASE>
] [ ,...n ]
[;]
--To Restore Specific Files or Filegroups:
RESTORE DATABASE { database_name | @database_name_var }
<file_or_filegroup> [ ,...n ]
[ FROM <backup_device> [ ,...n ] ]
WITH
{
[ RECOVERY | NORECOVERY ]
[ , <general_WITH_options> [ ,...n ] ]
} [ ,...n ]
[;]
--To Restore Specific Pages:
RESTORE DATABASE { database_name | @database_name_var }
PAGE = 'file:page [ ,...n ]'
[ , <file_or_filegroups> ] [ ,...n ]
[ FROM <backup_device> [ ,...n ] ]
WITH
NORECOVERY
[ , <general_WITH_options> [ ,...n ] ]
[;]
--To Restore a Transaction Log:
RESTORE LOG { database_name | @database_name_var }
[ <file_or_filegroup_or_pages> [ ,...n ] ]
[ FROM <backup_device> [ ,...n ] ]
[ WITH
{
[ RECOVERY | NORECOVERY | STANDBY =
{standby_file_name | @standby_file_name_var }
]
| , <general_WITH_options> [ ,...n ]
| , <replication_WITH_option>
| , <point_in_time_WITH_options-RESTORE_LOG>
} [ ,...n ]
]
[;]
--To Revert a Database to a Database Snapshot:
RESTORE DATABASE { database_name | @database_name_var }
FROM DATABASE_SNAPSHOT = database_snapshot_name
<backup_device>::=
{
{ logical_backup_device_name |
@logical_backup_device_name_var }
| { DISK
| TAPE
| URL
} = { 'physical_backup_device_name' |
@physical_backup_device_name_var }
}
<files_or_filegroups>::=
{
FILE = { logical_file_name_in_backup | @logical_file_name_in_backup_var }
| FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
| READ_WRITE_FILEGROUPS
}
<general_WITH_options> [ ,...n ]::=
--Restore Operation Options
MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name'
[ ,...n ]
| REPLACE
| RESTART
| RESTRICTED_USER | CREDENTIAL
--Backup Set Options
| FILE = { backup_set_file_number | @backup_set_file_number }
| PASSWORD = { password | @password_variable }
| [ METADATA_ONLY | SNAPSHOT ] [ DBNAME = { database_name | @database_name_variable } ]
--Media Set Options
| MEDIANAME = { media_name | @media_name_variable }
| MEDIAPASSWORD = { mediapassword | @mediapassword_variable }
| BLOCKSIZE = { blocksize | @blocksize_variable }
--Data Transfer Options
| BUFFERCOUNT = { buffercount | @buffercount_variable }
| MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }
--Error Management Options
| { CHECKSUM | NO_CHECKSUM }
| { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
--Monitoring Options
| STATS [ = percentage ]
--Tape Options.
| { REWIND | NOREWIND }
| { UNLOAD | NOUNLOAD }
<replication_WITH_option>::=
| KEEP_REPLICATION
<change_data_capture_WITH_option>::=
| KEEP_CDC
<FILESTREAM_WITH_option>::=
| FILESTREAM ( DIRECTORY_NAME = directory_name )
<service_broker_WITH_options>::=
| ENABLE_BROKER
| ERROR_BROKER_CONVERSATIONS
| NEW_BROKER
<point_in_time_WITH_options-RESTORE_DATABASE>::=
| {
STOPAT = { 'datetime'| @datetime_var }
| STOPATMARK = 'lsn:lsn_number'
[ AFTER 'datetime']
| STOPBEFOREMARK = 'lsn:lsn_number'
[ AFTER 'datetime']
}
<point_in_time_WITH_options-RESTORE_LOG>::=
| {
STOPAT = { 'datetime'| @datetime_var }
| STOPATMARK = { 'mark_name' | 'lsn:lsn_number' }
[ AFTER 'datetime']
| STOPBEFOREMARK = { 'mark_name' | 'lsn:lsn_number' }
[ AFTER 'datetime']
}
Arguments
Para obter descrições dos argumentos, consulte RESTORE Arguments.
Sobre cenários de restauração
O SQL Server oferece suporte a uma variedade de cenários de restauração:
Restauração completa do banco de dados
Restaura todo o banco de dados, começando com um backup completo do banco de dados, que pode ser seguido pela restauração de um backup diferencial do banco de dados (e backups de log). Para obter mais informações, consulte Restaurações completas de banco de dados - Modelo de recuperação simples ou Restaurações completas de banco de dados - Modelo de recuperação completa.
Restauro de ficheiros
Restaura um arquivo ou grupo de arquivos em um banco de dados de vários grupos de arquivos. No modelo de recuperação simples, o arquivo deve pertencer a um grupo de arquivos somente leitura. Após uma restauração completa do arquivo, um backup de arquivo diferencial pode ser restaurado. Para obter mais informações, consulte Restaurações de arquivos - Modelo de recuperação completa e Restaurações de arquivos - Modelo de recuperação simples.
Restauração de página
Restaura páginas individuais. A restauração de página está disponível somente nos modelos de recuperação completa e bulk-logged. Para obter mais informações, consulte Restaurar páginas - SQL Server.
Restauração fragmentada
Restaura o banco de dados em estágios, começando com o grupo de arquivos primário e um ou mais grupos de arquivos secundários. Uma restauração fragmentada começa com um RESTORE DATABASE usando a opção PARTIAL e especificando um ou mais grupos de arquivos secundários a serem restaurados. Para obter mais informações, consulte Restaurações fragmentadas - SQL Server.
Apenas recuperação
Recupera dados que já são consistentes com o banco de dados e precisam apenas ser disponibilizados. Para obter mais informações, consulte Recuperar um banco de dados sem restaurar dados.
Restauração do log de transações.
No modelo de recuperação completa ou bulk-logged, a restauração de backups de log é necessária para atingir o ponto de recuperação desejado. Para obter mais informações sobre como restaurar backups de log, consulte Aplicar backups de log de transações - SQL Server.
Preparar um banco de dados de disponibilidade para um grupo de disponibilidade Always On
Para obter mais informações, consulte Preparar manualmente um banco de dados secundário para um grupo de disponibilidade - SQL Server.
Preparar um banco de dados espelho para espelhamento de banco de dados
Para obter mais informações, consulte Preparar um banco de dados espelho para espelhamento - SQL Server.
Restauração on-line
Observação
A restauração online é permitida somente na edição Enterprise do SQL Server.
Onde a restauração on-line é suportada, se o banco de dados estiver online, restaurações de arquivos e restaurações de página são restaurações on-line automaticamente e, também, restaurações de grupo de arquivos secundário após o estágio inicial de uma restauração fragmentada.
Observação
As restaurações online podem envolver transações diferidas.
Para obter mais informações, consulte Restauração online.
Considerações adicionais sobre as opções de restauração
Palavras-chave RESTORE descontinuadas
As seguintes palavras-chave foram descontinuadas no SQL Server 2008 (10.0.x):
| Palavra-chave descontinuada | Substituído por... | Exemplo de palavra-chave de substituição |
|---|---|---|
| CARREGAR | RESTORE | RESTORE DATABASE |
| TRANSAÇÃO | LOG | RESTORE LOG |
| DBO_ONLY | RESTRICTED_USER | RESTORE DATABASE ... WITH RESTRICTED_USER |
RESTAURAR LOG
RESTORE LOG pode incluir uma lista de arquivos para permitir a criação de arquivos durante o rollforward. Isso é usado quando o backup de log contém registros de log gravados quando um arquivo foi adicionado ao banco de dados.
Observação
Para um banco de dados usando o modelo de recuperação completo ou bulk-logged, na maioria dos casos, você deve fazer backup da parte final do log antes de restaurar o banco de dados. Restaurar um banco de dados sem primeiro fazer backup da parte final do log resulta em um erro, a menos que a instrução RESTORE DATABASE contenha a cláusula WITH REPLACE ou WITH STOPAT, que deve especificar uma hora ou transação que ocorreu após o término do backup de dados. Para obter mais informações sobre backups de tail-log, consulte Tail-Log backups.
Comparação entre RECOVERY e NORECOVERY
A reversão é controlada pela instrução RESTORE através da [ RECOVERY | NORECOVERY ] opções:
NORECOVERY especifica que a reversão não ocorre. Isso permite que o rollforward continue com a próxima instrução na sequência.
Nesse caso, a sequência de restauração pode restaurar outros backups e lançá-los para frente.
RECOVERY (o padrão) indica que a reversão deve ser executada após a conclusão da rollforward para o backup atual. Nenhum outro backup pode ser restaurado. Selecione esta opção depois de restaurar todos os backups necessários.
A recuperação do banco de dados requer que todo o conjunto de dados que está sendo restaurado (o conjunto de rollforward) seja consistente com o banco de dados. Se o conjunto de rollforward não tiver sido rolado o suficiente para ser consistente com o banco de dados e RECOVERY for especificado, o Mecanismo de Banco de Dados emitirá um erro. Para obter mais informações sobre o processo de recuperação, consulte Visão geral da restauração e recuperação (SQL Server).
Suporte de compatibilidade
Os backups do master, model e msdb que foram criados usando uma versão anterior do SQL Server não podem ser restaurados pelo SQL Server.
Observação
Nenhum backup do SQL Server pode ser restaurado para uma versão anterior do SQL Server que a versão na qual o backup foi criado.
Cada versão do SQL Server usa um caminho padrão diferente das versões anteriores. Portanto, para restaurar um banco de dados que foi criado no local padrão para backups de versões anteriores, você deve usar a opção MOVE. Para obter informações sobre o novo caminho padrão, consulte Locais de arquivo para instâncias padrão e nomeadas do SQL Server.
Depois de restaurar um banco de dados de versão anterior para o SQL Server, o banco de dados é atualizado automaticamente. Normalmente, o banco de dados fica disponível imediatamente. No entanto, se um banco de dados do SQL Server 2005 (9.x) tiver índices de texto completo, o processo de atualização os importará, redefinirá ou reconstruirá, dependendo da configuração da propriedade do servidor upgrade_option . Se a opção de atualização estiver definida para importar (upgrade_option = 2) ou reconstruir (upgrade_option = 0), os índices de texto completo não estarão disponíveis durante a atualização. Dependendo da quantidade de dados que estão sendo indexados, a importação pode levar várias horas e a reconstrução pode levar até dez vezes mais. Observe também que, quando a opção de atualização é definida para importar, os índices de texto completo associados são reconstruídos se um catálogo de texto completo não estiver disponível. Para alterar a configuração da propriedade upgrade_option server, use sp_fulltext_service.
Quando um banco de dados é anexado ou restaurado pela primeira vez em uma nova instância do SQL Server, uma cópia da chave mestra do banco de dados (criptografada pela chave mestra de serviço) ainda não é armazenada no servidor. Você deve usar a instrução OPEN MASTER KEY para descriptografar a chave mestra do banco de dados (DMK). Uma vez que o DMK tenha sido descriptografado, você tem a opção de habilitar a descriptografia automática no futuro usando a instrução ALTER MASTER KEY REGENERATE para provisionar o servidor com uma cópia do DMK, criptografada com a chave mestra de serviço (SMK). Quando um banco de dados foi atualizado de uma versão anterior, o DMK deve ser regenerado para usar o algoritmo AES mais recente. Para obter mais informações sobre como regenerar o DMK, consulte ALTER MASTER KEY. O tempo necessário para regenerar a chave DMK para atualizar para AES depende do número de objetos protegidos pelo DMK. Regenerar a chave DMK para atualizar para AES só é necessário uma vez e não tem impacto em futuras regenerações como parte de uma estratégia de rotação de chaves.
Observações
Durante uma restauração offline, se o banco de dados especificado estiver em uso, RESTORE forçará os usuários a se desligarem após um pequeno atraso. Para restauração online de um grupo de arquivos não primário, o banco de dados pode permanecer em uso, exceto quando o grupo de arquivos que está sendo restaurado está sendo colocado offline. Todos os dados no banco de dados especificado são substituídos pelos dados restaurados.
As operações de restauração entre plataformas, mesmo entre diferentes tipos de processador, podem ser executadas desde que o agrupamento do banco de dados seja suportado pelo sistema operacional.
RESTORE pode ser reiniciado após um erro. Além disso, você pode instruir o RESTORE a continuar apesar dos erros e ele restaura o máximo de dados possível (veja a CONTINUE_AFTER_ERROR opção).
RESTORE não é permitido em uma transação explícita ou implícita.
A restauração de um banco de dados danificado master é executada usando um procedimento especial. Para obter mais informações, consulte Backup e restauração de bancos de dados do sistema.
A restauração de um banco de dados limpa o cache de plano para o banco de dados que está sendo restaurado. Limpar o cache do plano causa uma recompilação de todos os planos de execução subsequentes e pode causar uma diminuição súbita e temporária no desempenho da consulta.
Para restaurar um banco de dados de disponibilidade, primeiro restaure o banco de dados para a instância do SQL Server e, em seguida, adicione o banco de dados ao grupo de disponibilidade.
Aceleração e descarregamento integrados para compactação e descompactação de backup
O SQL Server 2022 (16.x) apresenta ALGORITHMo , que identifica um algoritmo de compactação para a operação. Para obter mais informações, consulte Backup COMPRESSION.
Para obter mais informações, consulte Operações de restauração
Restaurar a partir do URL
URL é o formato usado para especificar o local e o nome do arquivo para o Armazenamento de Blobs do Microsoft Azure ou o armazenamento de objetos compatíveis com o S3. Embora o Armazenamento de Blobs do Azure seja um serviço, a implementação é semelhante ao disco e à fita para permitir uma experiência de restauração consistente e contínua para todos os dispositivos.
Para obter mais informações sobre como restaurar a partir do Armazenamento de Blobs do Microsoft Azure, consulte Backup e restauração do SQL Server com o Armazenamento de Blobs do Microsoft Azure.
O backup e a restauração para o armazenamento de objetos compatíveis com o S3 foram introduzidos no SQL Server 2022 (16.x). Para obter mais informações sobre como restaurar a partir do armazenamento de objetos compatível com o S3, consulte Backup e restauração do SQL Server com armazenamento de objetos compatível com o S3. Analise também a opção de backup do SQL Server para URL para armazenamento de objetos compatíveis com o S3.
Interoperabilidade
Configurações e restauração do banco de dados
Durante uma restauração, a maioria das opções de banco de dados que são configuráveis usando ALTER DATABASE são redefinidas para os valores em vigor no momento do fim do backup.
O uso da opção WITH RESTRICTED_USER, no entanto, substitui esse comportamento para a configuração da opção de acesso do usuário. Essa configuração é sempre definida após uma instrução RESTORE, que inclui a opção WITH RESTRICTED_USER.
Restaurar um banco de dados criptografado
Para restaurar um banco de dados criptografado, você deve ter acesso ao certificado ou à chave assimétrica usada para criptografar o banco de dados. Sem o certificado ou a chave assimétrica, o banco de dados não pode ser restaurado. Como resultado, o certificado usado para criptografar a chave de criptografia do banco de dados deve ser mantido enquanto o backup for necessário. Para obter mais informações, consulte Certificados do SQL Server e chaves assimétricas.
Restaurar um banco de dados habilitado para armazenamento vardecimal
Backup e restauração funcionam corretamente com o formato de armazenamento vardecimal . Para obter mais informações sobre o formato de armazenamento vardecimal , consulte sp_db_vardecimal_storage_format.
Restaurar dados de texto completo
Os dados de texto completo são restaurados juntamente com outros dados do banco de dados durante uma restauração completa. Usando a sintaxe regular RESTORE DATABASE database_name FROM backup_device , os arquivos de texto completo são restaurados como parte da restauração do arquivo de banco de dados.
A instrução RESTORE também pode ser usada para executar restaurações em locais alternativos, restaurações diferenciais, restaurações de arquivos e grupos de arquivos e restaurações diferenciais de arquivos e grupos de arquivos de dados de texto completo. Além disso, RESTORE pode restaurar apenas arquivos de texto completo, bem como com dados de banco de dados.
Observação
Os catálogos de texto completo importados do SQL Server 2005 (9.x) ainda são tratados como arquivos de banco de dados. Para estes, o procedimento do SQL Server 2005 (9.x) para fazer backup de catálogos de texto completo permanece aplicável, exceto que pausar e retomar durante a operação de backup não é mais necessário. Para obter mais informações, consulte Fazendo backup e restaurando catálogos Full-Text.
Restaurar para o SQL Server 2022 e o recurso de descarte automático
Ao restaurar um banco de dados para o SQL Server 2022 (16.x) de uma versão anterior, é recomendável executar sp_updatestats no banco de dados, definindo os metadados adequados para o recurso de descarte automático de estatísticas. Para obter mais informações, consulte a opção de queda automática de estatísticas.
SQL Server Big Data Clusters
Certas operações, incluindo a definição de configurações de servidor (nível de instância) ou a adição manual de um banco de dados a um grupo de disponibilidade, exigem uma conexão com a instância do SQL Server. Operações como sp_configure, RESTORE DATABASEou qualquer comando DDL em um banco de dados pertencente a um grupo de disponibilidade exigem uma conexão com a instância do SQL Server. Por padrão, um cluster de big data não inclui um ponto de extremidade que permita uma conexão com a instância. Você deve expor esse ponto de extremidade manualmente.
Para obter instruções, consulte Conectar-se a bancos de dados na réplica primária.
Metadados
O SQL Server inclui tabelas de histórico de backup e restauração que rastreiam a atividade de backup e restauração para cada instância do servidor. Quando uma restauração é executada, as tabelas de histórico de backup também são modificadas. Para obter informações sobre essas tabelas, consulte Histórico de backup e informações de cabeçalho.
Impacto da opção REPLACE
REPLACE deve ser usado raramente e somente após uma análise cuidadosa. A restauração normalmente evita a substituição acidental de um banco de dados por um banco de dados diferente. Se o banco de dados especificado em uma instrução RESTORE já existir no servidor atual e o GUID da família de banco de dados especificado for diferente do GUID da família de banco de dados registrado no conjunto de backup, o banco de dados não será restaurado. Trata-se de uma salvaguarda importante.
A opção REPLACE substitui várias verificações de segurança importantes que a restauração normalmente executa. As verificações anuladas são as seguintes:
Restaurando sobre um banco de dados existente com um backup feito de outro banco de dados.
Com a opção SUBSTITUIR, a restauração permite substituir um banco de dados existente por qualquer banco de dados que esteja no conjunto de backup, mesmo que o nome do banco de dados especificado seja diferente do nome do banco de dados registrado no conjunto de backup. Isso pode resultar na substituição acidental de um banco de dados por um banco de dados diferente.
Restauração em um banco de dados usando o modelo de recuperação completo ou bulk-logged, onde um backup de tail-log não foi feito e a
STOPATopção não é usada.Com a opção SUBSTITUIR, você pode perder o trabalho comprometido, porque o log escrito mais recentemente não foi copiado.
Substituindo arquivos existentes.
Por exemplo, um erro pode permitir a substituição de arquivos do tipo errado, como arquivos .xls, ou que estão sendo usados por outro banco de dados que não está online. A perda arbitrária de dados é possível se os arquivos existentes forem substituídos, embora o banco de dados restaurado esteja completo.
Refazer uma restauração
Desfazer os efeitos de uma restauração não é possível; no entanto, você pode negar os efeitos da cópia de dados e rollforward recomeçando por arquivo. Para começar de novo, restaure o arquivo desejado e execute o rollforward novamente. Por exemplo, se você acidentalmente restaurou muitos backups de log e ultrapassou o ponto de parada pretendido, será necessário reiniciar a sequência.
Uma sequência de restauração pode ser abortada e reiniciada restaurando todo o conteúdo dos arquivos afetados.
Reverter um banco de dados para um instantâneo de banco de dados
Uma operação de reverter banco de dados (especificada usando a opção DATABASE_SNAPSHOT) leva um banco de dados de origem completo de volta no tempo, revertendo-o para o tempo de um instantâneo de banco de dados, ou seja, substituindo o banco de dados de origem por dados do ponto no tempo mantido no instantâneo de banco de dados especificado. Atualmente, apenas o instantâneo para o qual você está revertendo pode existir. Em seguida, a operação de reversão recria o log (portanto, você não pode reverter posteriormente um banco de dados revertido até o ponto de erro do usuário).
A perda de dados é limitada a atualizações no banco de dados desde a criação do snapshot. Os metadados de um banco de dados revertido são os mesmos que os metadados no momento da criação do instantâneo. No entanto, reverter para um instantâneo descarta todos os catálogos de texto completo.
A reversão de um instantâneo de banco de dados não se destina à recuperação de mídia. Ao contrário de um conjunto de backup regular, o instantâneo do banco de dados é uma cópia incompleta dos arquivos do banco de dados. Se o banco de dados ou o instantâneo do banco de dados estiver corrompido, a reversão de um instantâneo provavelmente será impossível. Além disso, mesmo quando possível, é improvável que a reversão em caso de corrupção corrija o problema.
Restrições à reversão
A reversão não é suportada nas seguintes condições:
- O banco de dados de origem contém todos os grupos de arquivos compactados ou somente leitura.
- Todos os arquivos estão offline que estavam online quando o instantâneo foi criado.
- Atualmente, existe mais de um instantâneo do banco de dados.
Para obter mais informações, consulte Reverter um banco de dados para um instantâneo de banco de dados.
Segurança
Uma operação de backup pode, opcionalmente, especificar senhas para um conjunto de mídia, um conjunto de backup ou ambos. Quando uma senha tiver sido definida em um conjunto de mídia ou conjunto de backup, você deverá especificar a senha ou senhas corretas na instrução RESTORE. Essas senhas impedem operações de restauração não autorizadas e acréscimos não autorizados de conjuntos de backup à mídia usando ferramentas do SQL Server. No entanto, a mídia protegida por senha pode ser substituída pela opção FORMAT da instrução BACKUP.
Importante
A proteção fornecida por esta senha é fraca. Destina-se a evitar uma restauração incorreta usando ferramentas do SQL Server por usuários autorizados ou não autorizados. Não impede a leitura dos dados de backup por outros meios ou a substituição da senha. Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em novos trabalhos de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso. A prática recomendada para proteger backups é armazenar fitas de backup em um local seguro ou fazer backup em arquivos de disco protegidos por ACLs (listas de controle de acesso) adequadas. As ACLs devem ser definidas na raiz do diretório sob a qual os backups são criados.
Para obter informações específicas sobre backup e restauração do SQL Server com o Armazenamento de Blobs do Microsoft Azure, consulte Backup e restauração do SQL Server com o Armazenamento de Blobs do Microsoft Azure.
O backup e a restauração para o armazenamento de objetos compatíveis com o S3 foram introduzidos no SQL Server 2022 (16.x). Para obter mais informações sobre como restaurar a partir do armazenamento de objetos compatível com o S3, consulte Backup e restauração do SQL Server com armazenamento de objetos compatível com o S3. Analise também a opção de backup do SQL Server para URL para armazenamento de objetos compatíveis com o S3.
Permissions
Se o banco de dados que está sendo restaurado não existir, o usuário deverá ter CREATE DATABASE permissões para poder executar a RESTAURAÇÃO. Se o banco de dados existir, as permissões RESTORE serão padrão para membros das funções de servidor fixas sysadmindbcreator e o proprietário (dbo) do banco de dados (para a FROM DATABASE_SNAPSHOT opção, o banco de dados sempre existirá).
As permissões RESTORE são dadas a funções nas quais as informações de associação estão sempre prontamente disponíveis para o servidor. Como a associação à função de banco de dados fixa pode ser verificada somente quando o banco de dados está acessível e sem danos, o que nem sempre é o caso quando RESTORE é executado, os db_owner membros da função de banco de dados fixa não têm permissões RESTORE.
Examples
Todos os exemplos pressupõem que um backup de banco de dados completo foi executado.
Os exemplos RESTORE incluem o seguinte:
- A. Restaurando um banco de dados completo
- B. Restaurando backups completos e diferenciais de bancos de dados
- C. Restaurando um banco de dados usando a sintaxe RESTART
- D. Restaurando um banco de dados e movendo arquivos
- E. Copiando um banco de dados usando BACKUP e RESTORE
- F. Restaurando para um point-in-time usando STOPAT
- G. Restaurando o log de transações para uma marca
- H. Restaurando usando sintaxe TAPE
- I. Restaurando usando a sintaxe FILE e FILEGROUP
- J. Reverter a partir de um instantâneo de banco de dados
- K. Restaurando a partir do Armazenamento de Blobs do Microsoft Azure
- L. Restaurar a partir de um backup de snapshot
Observação
Para obter exemplos adicionais, consulte os tópicos de instruções de restauração listados em Visão geral de restauração e recuperação.
A. Restaurar um banco de dados completo
O exemplo a seguir restaura um backup de banco de dados completo do AdventureWorksBackups dispositivo de backup lógico. Para obter um exemplo de criação deste dispositivo, consulte Dispositivos de backup.
RESTORE DATABASE AdventureWorks2022
FROM AdventureWorks2022Backups;
Observação
Para um banco de dados usando o modelo de recuperação completa ou bulk-logged, o SQL Server exige, na maioria dos casos, que você faça backup da parte final do log antes de restaurar o banco de dados. Para obter mais informações, consulte Tail-Log backups.
B. Restaure backups completos e diferenciais de bancos de dados
O exemplo a seguir restaura um backup de banco de dados completo seguido por um backup diferencial do dispositivo de backup, que contém ambos os Z:\SQLServerBackups\AdventureWorks2022.bak backups. O backup completo do banco de dados a ser restaurado é o sexto conjunto de backup no dispositivo (FILE = 6), e o backup diferencial do banco de dados é o nono conjunto de backup no dispositivo (FILE = 9). Assim que o backup diferencial é recuperado, o banco de dados é recuperado.
RESTORE DATABASE AdventureWorks2022
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'
WITH FILE = 6,
NORECOVERY;
RESTORE DATABASE AdventureWorks2022
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'
WITH FILE = 9,
RECOVERY;
C. Restaurar um banco de dados usando a sintaxe RESTART
O exemplo a seguir usa a RESTART opção para reiniciar uma RESTORE operação interrompida por uma falha de energia do servidor.
-- This database RESTORE halted prematurely due to power failure.
RESTORE DATABASE AdventureWorks2022
FROM AdventureWorksBackups;
-- Here is the RESTORE RESTART operation.
RESTORE DATABASE AdventureWorks2022
FROM AdventureWorksBackups WITH RESTART;
D. Restaurar um banco de dados e mover arquivos
O exemplo a seguir restaura um banco de dados completo e um log de transações e move o banco de dados restaurado para o C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data diretório.
RESTORE DATABASE AdventureWorks2022
FROM AdventureWorksBackups
WITH NORECOVERY,
MOVE 'AdventureWorks2022_Data' TO
'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\NewAdvWorks.mdf',
MOVE 'AdventureWorks2022_Log'
TO 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\NewAdvWorks.ldf';
RESTORE LOG AdventureWorks2022
FROM AdventureWorksBackups
WITH RECOVERY;
E. Copiar um banco de dados usando BACKUP e RESTORE
O exemplo a seguir usa as BACKUP instruções e RESTORE para fazer uma cópia do AdventureWorks2025 banco de dados. A MOVE instrução faz com que os dados e o arquivo de log sejam restaurados para os locais especificados. A RESTORE FILELISTONLY instrução é usada para determinar o número e os nomes dos arquivos no banco de dados que está sendo restaurado. A nova cópia do banco de dados é denominada TestDB. Para obter mais informações, consulte RESTORE FILELISTONLY.
BACKUP DATABASE AdventureWorks2022
TO AdventureWorksBackups ;
RESTORE FILELISTONLY
FROM AdventureWorksBackups ;
RESTORE DATABASE TestDB
FROM AdventureWorksBackups
WITH MOVE 'AdventureWorks2022_Data' TO 'C:\MySQLServer\testdb.mdf',
MOVE 'AdventureWorks2022_Log' TO 'C:\MySQLServer\testdb.ldf';
GO
F. Restaurar para um ponto no tempo usando STOPAT
O exemplo a seguir restaura um banco de dados ao seu estado como ativado 12:00 AM e mostra uma operação de restauração que envolve vários backups de April 15, 2020 log. No dispositivo de backup, AdventureWorksBackups, o backup completo do banco de dados a ser restaurado é o terceiro conjunto de backup no dispositivo (FILE = 3), o primeiro backup de log é o quarto conjunto de backup (FILE = 4) e o segundo backup de log é o quinto conjunto de backup (FILE = 5).
RESTORE DATABASE AdventureWorks2022
FROM AdventureWorksBackups
WITH FILE = 3, NORECOVERY;
RESTORE LOG AdventureWorks2022
FROM AdventureWorksBackups
WITH FILE = 4, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';
RESTORE LOG AdventureWorks2022
FROM AdventureWorksBackups
WITH FILE = 5, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';
RESTORE DATABASE AdventureWorks2022 WITH RECOVERY;
G. Restaurar o log de transações para uma marca
O exemplo a seguir restaura o log de transações para a marca na transação marcada chamada ListPriceUpdate.
USE AdventureWorks2022;
GO
BEGIN TRANSACTION ListPriceUpdate
WITH MARK 'UPDATE Product list prices';
GO
UPDATE Production.Product
SET ListPrice = ListPrice * 1.10
WHERE ProductNumber LIKE 'BK-%';
GO
COMMIT TRANSACTION ListPriceUpdate;
GO
-- Time passes. Regular database
-- and log backups are taken.
-- An error occurs in the database.
USE master;
GO
RESTORE DATABASE AdventureWorks2022
FROM AdventureWorksBackups
WITH FILE = 3, NORECOVERY;
GO
RESTORE LOG AdventureWorks2022
FROM AdventureWorksBackups
WITH FILE = 4,
RECOVERY,
STOPATMARK = 'UPDATE Product list prices';
H. Restaurar usando sintaxe TAPE
O exemplo a seguir restaura um backup de banco de dados completo de um TAPE dispositivo de backup.
RESTORE DATABASE AdventureWorks2022
FROM TAPE = '\\.\tape0';
I. Restaurar usando a sintaxe FILE e FILEGROUP
O exemplo a seguir restaura um banco de dados chamado MyDatabase que tem dois arquivos, um grupo de arquivos secundário e um log de transações. O banco de dados usa o modelo de recuperação completa.
O backup do banco de dados é o nono conjunto de backup no conjunto de mídia em um dispositivo de backup lógico chamado MyDatabaseBackups. Em seguida, três backups de log, que estão nos próximos três conjuntos de backup (10, , e 11) no 12 dispositivo, são restaurados usando MyDatabaseBackupso . WITH NORECOVERY Depois que o último backup de log for restaurado com NORECOVERYo , o banco de dados será recuperado.
Observação
A recuperação é executada como uma etapa separada para reduzir a possibilidade de recuperação muito cedo, antes que todos os backups de log tenham sido restaurados. Para obter mais informações sobre o processo de recuperação, consulte Visão geral da restauração e recuperação (SQL Server).
RESTORE DATABASENo , observe que existem dois tipos de FILE opções. As FILE opções que precedem o nome do dispositivo de backup especificam os nomes de arquivos lógicos dos arquivos de banco de dados que devem ser restaurados a partir do conjunto de backup, por exemplo, FILE = 'MyDatabase_data_1'. Este conjunto de backup não é o primeiro backup de banco de dados no conjunto de mídia; portanto, sua posição no conjunto de mídia é indicada usando a FILE opção na WITH cláusula, FILE = 9.
RESTORE DATABASE MyDatabase
FILE = 'MyDatabase_data_1',
FILE = 'MyDatabase_data_2',
FILEGROUP = 'new_customers'
FROM MyDatabaseBackups
WITH
FILE = 9,
NORECOVERY;
GO
-- Restore the log backups
RESTORE LOG MyDatabase
FROM MyDatabaseBackups
WITH FILE = 10,
NORECOVERY;
GO
RESTORE LOG MyDatabase
FROM MyDatabaseBackups
WITH FILE = 11,
NORECOVERY;
GO
RESTORE LOG MyDatabase
FROM MyDatabaseBackups
WITH FILE = 12,
NORECOVERY;
GO
--Recover the database
RESTORE DATABASE MyDatabase WITH RECOVERY;
GO
J. Reverter a partir de um instantâneo de banco de dados
O exemplo a seguir reverte um banco de dados para um instantâneo de banco de dados. O exemplo pressupõe que apenas um instantâneo existe atualmente no banco de dados. Para obter um exemplo de como criar esse instantâneo de banco de dados, consulte Criar um instantâneo de banco de dados.
Observação
Reverter para um instantâneo descarta todos os catálogos de texto completo.
USE master;
RESTORE DATABASE AdventureWorks2022 FROM DATABASE_SNAPSHOT = 'AdventureWorks_dbss1800';
GO
Para obter mais informações, consulte Reverter um banco de dados para um instantâneo de banco de dados.
K. Restaurar a partir do armazenamento de Blob do Microsoft Azure
Os três exemplos abaixo envolvem o uso do serviço de armazenamento do Microsoft Azure. O nome da conta de armazenamento é mystorageaccount. O contêiner para arquivos de dados é chamado myfirstcontainerde . O contêiner para arquivos de backup é chamado mysecondcontainerde . Uma política de acesso armazenado foi criada com direitos de leitura, gravação, exclusão e lista para cada contêiner. As credenciais do SQL Server foram criadas usando Assinaturas de Acesso Compartilhado associadas às Políticas de Acesso Armazenado. Para obter informações específicas sobre backup e restauração do SQL Server com o Armazenamento de Blobs do Microsoft Azure, consulte Backup e restauração do SQL Server com o Armazenamento de Blobs do Microsoft Azure.
K1. Restaurar um backup de banco de dados completo do serviço de armazenamento do Microsoft Azure
Um backup completo do banco de dados, localizado em mysecondcontainer, de Sales será restaurado para myfirstcontainer.
Sales não existe atualmente no servidor.
RESTORE DATABASE Sales
FROM URL = 'https://mystorageaccount.blob.core.windows.net/mysecondcontainer/Sales.bak'
WITH MOVE 'Sales_Data1' to 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_Data1.mdf',
MOVE 'Sales_log' to 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_log.ldf',
STATS = 10;
K2. Restaurar um backup de banco de dados completo do serviço de armazenamento do Microsoft Azure para o armazenamento local
Um backup completo do banco de mysecondcontainer dados, localizado em Sales, será restaurado para o armazenamento local.
Sales não existe atualmente no servidor.
RESTORE DATABASE Sales
FROM URL = 'https://mystorageaccount.blob.core.windows.net/mysecondcontainer/Sales.bak'
WITH MOVE 'Sales_Data1' to 'H:\DATA\Sales_Data1.mdf',
MOVE 'Sales_log' to 'O:\LOG\Sales_log.ldf',
STATS = 10;
K3. Restaurar um backup de banco de dados completo do armazenamento local para o serviço de armazenamento do Microsoft Azure
RESTORE DATABASE Sales
FROM DISK = 'E:\BAK\Sales.bak'
WITH MOVE 'Sales_Data1' to 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_Data1.mdf',
MOVE 'Sales_log' to 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_log.ldf',
STATS = 10;
L. Restaurar a partir de backup de snapshot
Introduzido no SQL Server 2022 (16.x). Para obter mais informações, consulte Criar um backup de instantâneo Transact-SQL.
L1. Restaurar um backup completo
RESTORE DATABASE Sales
FROM DISK = 'D:\MSSQL\Backup\SalesSnapshotFull.bkm'
WITH METADATA_ONLY;
L2. Restaurar um backup e aplicar um log de transações
RESTORE DATABASE Sales
FROM DISK = 'D:\MSSQL\Backup\SalesSnapshotFull.bkm'
WITH METADATA_ONLY,
NORECOVERY;
RESTORE LOG Sales
FROM DISK = 'D:\MSSQL\Backup\SalesLog.trn'
WITH RECOVERY;
L3. Restaure a partir de um backup de instantâneo e coloque o banco de dados e os arquivos de log em um novo local
RESTORE DATABASE Sales
FROM DISK = 'D:\MSSQL\Backup\SalesSnapshotFull.bkm'
WITH METADATA_ONLY,
MOVE Sales_Data TO 'D:\MSSQL\Sales.mdf',
MOVE Sales_Log TO 'D:\MSSQL\Sales_log.ldf';
Próximos passos
- Visão geral da restauração e recuperação (SQL Server)
- Backup e restauração de bancos de dados do SQL Server
- Backup e restauração de bancos de dados do sistema (SQL Server)
- Restaurar um backup de banco de dados usando o SSMS
- Fazer backup e restaurar catálogos e índices Full-Text
- Fazer backup e restaurar bancos de dados replicados
- BACKUP
- Conjuntos de mídia, famílias de mídia e conjuntos de backup
- RESTAURAR REWINDONLY
- RESTAURAR VERIFICAAPENAS
- RESTAURAR FILELISTONLY (Transact-SQL)
- RESTAURAR HEADERONLY (Transact-SQL)
- Histórico de backup e informações de cabeçalho
* Instância gerenciada SQL *
Plataforma de análise
Sistema (PDW)
Azure SQL Managed Instance
Este comando permite restaurar um banco de dados inteiro a partir de um backup de banco de dados completo (uma restauração completa) da conta de Armazenamento de Blob do Azure.
Para outros comandos RESTORE suportados, consulte:
- RESTAURAR FILELISTONLY (Transact-SQL)
- RESTAURAR HEADERONLY (Transact-SQL)
- RESTAURAR APENAS LABELONLY (Transact-SQL)
- RESTAURAR VERIFICAÇÃO (Transact-SQL)
Importante
Para restaurar a partir de backups automáticos da Instância Gerenciada do SQL, consulte Restauração do Banco de Dados SQL.
Sintaxe
--To Restore an Entire Database from a Full database backup (a Complete Restore):
RESTORE DATABASE { database_name | @database_name_var }
FROM URL = { 'physical_device_name' | @physical_device_name_var } [ ,...n ]
[;]
Arguments
DATABASE
Especifica o banco de dados de destino.
DO URL
Especifica um ou mais dispositivos de backup colocados em URLs que serão usados para a operação de restauração. O formato de URL é usado para restaurar backups do serviço de armazenamento do Microsoft Azure.
Importante
Para restaurar a partir de vários dispositivos ao restaurar a partir do URL, tem de utilizar tokens de Assinatura de Acesso Partilhado (SAS). Para obter exemplos de criação de uma Assinatura de Acesso Compartilhado, consulte Backup do SQL Server para URL e Simplificando a criação de credenciais SQL com tokens SAS (Assinatura de Acesso Compartilhado) no Armazenamento do Azure 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.
Observações
Como pré-requisito, você precisa criar uma credencial com o nome que corresponda à URL da conta de armazenamento de blob e a Assinatura de Acesso Compartilhado colocada como secreta. O comando RESTORE procurará credenciais usando o url de armazenamento de blob para encontrar as informações necessárias para ler o dispositivo de backup.
A operação RESTORE é assíncrona - a restauração continua mesmo se a conexão do cliente for interrompida. Se sua conexão for interrompida, você poderá verificar sys.dm_operation_status visualização para o status de uma operação de restauração (bem como para o banco de dados CREATE e DROP).
As seguintes opções de banco de dados são definidas/substituídas e não podem ser alteradas posteriormente:
- NEW_BROKER (se o broker não estiver habilitado em .bak arquivo)
- ENABLE_BROKER (se o broker não estiver habilitado em .bak arquivo)
- AUTO_CLOSE=OFF (se um banco de dados em .bak arquivo tiver AUTO_CLOSE=ON)
- RECUPERAÇÃO COMPLETA (se um banco de dados em .bak arquivo tiver um modelo de recuperação SIMPLES ou BULK_LOGGED)
- O grupo de arquivos otimizado para memória é adicionado e chamado XTP se não estiver no arquivo de .bak de origem. Qualquer grupo de arquivos otimizado para memória existente é renomeado para XTP
- SINGLE_USER e RESTRICTED_USER opções são convertidas em MULTI_USER
Limitações - Instância gerenciada SQL
Estas limitações aplicam-se:
- . Os arquivos BAK contendo vários conjuntos de backup não podem ser restaurados.
- . Os arquivos BAK contendo vários arquivos de log não podem ser restaurados.
- A restauração falhará se .bak contiver dados FILESTREAM.
- Os backups que contêm bancos de dados com objetos ativos na memória não podem ser restaurados para uma camada de desempenho de uso geral.
- Os backups que contêm bancos de dados no modo somente leitura não podem ser restaurados no momento.
Para obter mais informações, consulte Instância gerenciada SQL do Azure
Restaurar um banco de dados criptografado
Para restaurar um banco de dados criptografado, você deve ter acesso ao certificado ou à chave assimétrica usada para criptografar o banco de dados. Sem o certificado ou a chave assimétrica, o banco de dados não pode ser restaurado. Como resultado, o certificado usado para criptografar a chave de criptografia do banco de dados deve ser mantido enquanto o backup for necessário. Para obter mais informações, consulte Certificados do SQL Server e chaves assimétricas.
Permissions
O usuário deve ter CREATE DATABASE permissões para poder executar a RESTAURAÇÃO.
CREATE LOGIN mylogin WITH PASSWORD = 'Very Strong Pwd123!';
GRANT CREATE ANY DATABASE TO [mylogin];
As permissões RESTORE são dadas a funções nas quais as informações de associação estão sempre prontamente disponíveis para o servidor. Como a associação à função de banco de dados fixa pode ser verificada somente quando o banco de dados está acessível e sem danos, o que nem sempre é o caso quando RESTORE é executado, os db_owner membros da função de banco de dados fixa não têm permissões RESTORE.
Examples
Os exemplos a seguir restauram um backup de banco de dados somente cópia da URL, incluindo a criação de uma credencial.
A. Restaurar banco de dados a partir de quatro dispositivos de backup
-- Create credential
CREATE CREDENTIAL [https://mybackups.blob.core.windows.net/wide-world-importers]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'sv=2017-11-09&ss=bq&srt=sco&sp=rl&se=2022-06-19T22:41:07Z&st=2018-06-01T14:41:07Z&spr=https&sig=s7wddcf0w%3D';
GO
-- Restore database
RESTORE DATABASE WideWorldImportersStandard
FROM URL = N'https://mybackups.blob.core.windows.net/wide-world-importers/00-WideWorldImporters-Standard.bak',
URL = N'https://mybackups.blob.core.windows.net/wide-world-importers/01-WideWorldImporters-Standard.bak',
URL = N'https://mybackups.blob.core.windows.net/wide-world-importers/02-WideWorldImporters-Standard.bak',
URL = N'https://mybackups.blob.core.windows.net/wide-world-importers/03-WideWorldImporters-Standard.bak'
O seguinte erro é mostrado se o banco de dados já existe: Msg 1801, Level 16, State 1, Line 9 Database 'WideWorldImportersStandard' already exists. Choose a different database name.
B. Restaurar banco de dados especificado via variável
DECLARE @db_name sysname = 'WideWorldImportersStandard';
DECLARE @url nvarchar(400) = N'https://mybackups.blob.core.windows.net/wide-world-importers/WideWorldImporters-Standard.bak';
RESTORE DATABASE @db_name
FROM URL = @url
C. Acompanhe o progresso da instrução de restauração
SELECT query = a.text, start_time, percent_complete,
eta = dateadd(second,estimated_completion_time/1000, getdate())
FROM sys.dm_exec_requests r
CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) a
WHERE r.command = 'RESTORE DATABASE'
Observação
Essa exibição provavelmente mostrará duas solicitações de restauração. Uma é a instrução RESTORE original enviada pelo cliente e a outra é a instrução RESTORE em segundo plano que está sendo executada mesmo se a conexão do cliente falhar.
* Análise
Sistema de plataforma (PDW) *
Sistema de plataforma de análise
Restaura um banco de dados de usuário do Analytics Platform System (PDW) de um backup de banco de dados para um dispositivo do Analytics Platform System (PDW). O banco de dados é restaurado a partir de um backup criado anteriormente pelo comando Analytics Platform System (PDW) BACKUP DATABASE - Analytics Platform System . Use as operações de backup e restauração para criar um plano de recuperação de desastres ou para mover bancos de dados de um dispositivo para outro.
Observação
A restauração do banco de dados do sistema inclui a restauração das informações de login do master aparelho. Para restaurar o master banco de dados, use a página Restaurar o banco de dados mestre na ferramenta Configuration Manager . Um administrador com acesso ao nó Controle pode executar essa operação. 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
-- Restore the master database
-- Use the Configuration Manager tool.
Restore a full user database backup.
RESTORE DATABASE database_name
FROM DISK = '\\UNC_path\full_backup_directory'
[;]
--Restore a full user database backup and then a differential backup.
RESTORE DATABASE database_name
FROM DISK = '\\UNC_path\differential_backup_directory'
WITH [ ( ] BASE = '\\UNC_path\full_backup_directory' [ ) ]
[;]
--Restore header information for a full or differential user database backup.
RESTORE HEADERONLY
FROM DISK = '\\UNC_path\backup_directory'
[;]
Arguments
RESTAURAR BANCO DE DADOS database_name
Especifica para restaurar um banco de dados de usuário para um banco de dados chamado database_name. O banco de dados restaurado pode ter um nome diferente do banco de dados de origem do qual foi feito backup. database_name ainda não pode existir como um banco de dados no dispositivo de destino. Para obter mais informações sobre nomes de bancos de dados permitidos, consulte "Regras de nomenclatura de objetos" na documentação do produto Analytics Platform System (PDW).
A restauração de um banco de dados de usuário restaura um backup de banco de dados completo e, opcionalmente, restaura um backup diferencial para o dispositivo. Uma restauração de um banco de dados de usuário inclui a restauração de usuários de banco de dados e funções de banco de dados.
DO DISCO = '\\UNC_path\backup_directory'
O caminho de rede e o diretório a partir do qual o Analytics Platform System (PDW) restaurará os arquivos de backup. Por exemplo, FROM DISK = '\\xxx.xxx.xxx.xxx\backups\2012\Monthly\08.2012.Mybackup'.
backup_directory Especifica o nome de um diretório que contém o backup completo ou diferencial. Por exemplo, você pode executar uma operação RESTORE HEADERONLY em um backup completo ou diferencial.
full_backup_directory Especifica o nome de um diretório que contém o backup completo.
differential_backup_directory Especifica o nome do diretório que contém o backup diferencial.
- O caminho e o diretório de backup já devem existir e devem ser especificados como um caminho UNC (convenção universal de nomenclatura) totalmente qualificado.
- 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 do Analytics Platform System (PDW).
- 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.
RESTAURAR HEADERONLY
Especifica para retornar somente as informações de cabeçalho para um backup de banco de dados de usuário. Entre outros campos, o cabeçalho inclui o texto, a descrição do backup e o nome do backup. O nome do backup não precisa ser o mesmo que o nome do diretório que armazena os arquivos de backup.
Os resultados RESTORE HEADERONLY são padronizados após os resultados RESTORE HEADERONLY do SQL Server. O resultado tem mais de 50 colunas, que não são todas usadas pelo Analytics Platform System (PDW). Para obter uma descrição das colunas nos resultados RESTORE HEADERONLY do SQL Server, consulte RESTORE HEADERONLY.
Permissions
Requer a CREATE ANY DATABASE permissão.
Requer uma conta do Windows que tenha permissão para acessar e ler a partir do diretório de backup. Você também deve armazenar o nome da conta e a senha do Windows no Analytics Platform System (PDW).
- Para verificar se as credenciais já estão lá, use sys.dm_pdw_network_credentials.
- Para adicionar ou atualizar as credenciais, use o sp_pdw_add_network_credentials - Azure Synapse Analytics.
- Para remover credenciais do Analytics Platform System (PDW), use sp_pdw_remove_network_credentials - Azure Synapse Analytics.
Tratamento de erros
O comando RESTORE DATABASE resulta em erros nas seguintes condições:
- O nome do banco de dados a ser restaurado já existe no dispositivo de destino. Para evitar isso, escolha um nome de banco de dados exclusivo ou solte o banco de dados existente antes de executar a restauração.
- Há um conjunto inválido de arquivos de backup no diretório de backup.
- As permissões de login não são suficientes para restaurar um banco de dados.
- O Analytics Platform System (PDW) não tem as permissões corretas para o local de rede onde os arquivos de backup estão localizados.
- O local de rede para o diretório de backup não existe ou não está disponível.
- Não há espaço em disco suficiente nos nós Computação ou Controle. O Analytics Platform System (PDW) não confirma a existência de espaço em disco suficiente no dispositivo antes de iniciar a restauração. Portanto, é possível gerar um erro de falta de espaço em disco ao executar a instrução RESTORE DATABASE. Quando ocorre espaço em disco insuficiente, o Analytics Platform System (PDW) reverte a restauração.
- O dispositivo de destino para o qual o banco de dados está sendo restaurado tem menos nós de computação do que o dispositivo de origem do qual foi feito o backup do banco de dados.
- A restauração do banco de dados é tentada a partir de uma transação.
Observações
O Analytics Platform System (PDW) acompanha o sucesso das restaurações de banco de dados. Antes de restaurar um backup diferencial de banco de dados, o Analytics Platform System (PDW) verifica se a restauração completa do banco de dados foi concluída com êxito.
Após uma restauração, o banco de dados do usuário terá o nível de compatibilidade do banco de dados 120. Isso é verdade para todos os bancos de dados, independentemente do nível de compatibilidade original.
Restaurar para um dispositivo com um número maior de nós de computação
Execute DBCC SHRINKLOG (Azure Synapse Analytics) depois de restaurar um banco de dados de um dispositivo menor para maior, pois a redistribuição aumentará o log de transações.
A restauração de um backup em um dispositivo com um número maior de nós de computação aumenta o tamanho do banco de dados alocado proporcionalmente ao número de nós de computação.
Por exemplo, ao restaurar um banco de dados de 60 GB de um dispositivo de 2 nós (30 GB por nó) para um dispositivo de 6 nós, o Analytics Platform System (PDW) cria um banco de dados de 180 GB (6 nós com 30 GB por nó) no dispositivo de 6 nós. O Analytics Platform System (PDW) inicialmente restaura o banco de dados para 2 nós para corresponder à configuração de origem e, em seguida, redistribui os dados para todos os 6 nós.
Após a redistribuição, cada nó de computação conterá menos dados reais e mais espaço livre do que cada nó de computação no dispositivo de origem menor. Use o espaço adicional para adicionar mais dados ao banco de dados. Se o tamanho do banco de dados restaurado for maior do que o necessário, você poderá usar ALTER DATABASE - PDW para reduzir os tamanhos dos arquivos do banco de dados.
Limitações e restrições
Para essas limitações e restrições, o dispositivo de origem é o dispositivo a partir do qual o backup do banco de dados foi criado, e o dispositivo de destino é o dispositivo para o qual o banco de dados será restaurado.
- A restauração de um banco de dados não recria automaticamente as estatísticas.
- Apenas uma instrução RESTORE DATABASE ou BACKUP DATABASE pode ser executada no dispositivo a qualquer momento. Se várias instruções de backup e restauração forem enviadas simultaneamente, o dispositivo as colocará em uma fila e as processará uma de cada vez.
- Você só pode restaurar um backup de banco de dados para um dispositivo de destino do Analytics Platform System (PDW) que tenha o mesmo número ou mais nós de computação que o dispositivo de origem. O dispositivo de destino não pode ter menos nós de computação do que o dispositivo de origem.
- Não é possível restaurar um backup que foi criado em um dispositivo que tenha hardware do SQL Server 2012 PDW para um dispositivo que tenha hardware do SQL Server 2008 R2. Isso é válido mesmo se o dispositivo tiver sido comprado originalmente com o hardware do SQL Server 2008 R2 PDW e agora estiver executando o software SQL Server 2012 PDW.
Bloqueio
Usa um bloqueio exclusivo no objeto DATABASE.
Examples
A. Exemplos simples de RESTORE
O exemplo a seguir restaura um backup completo para o SalesInvoices2013 banco de dados. Os arquivos de backup são armazenados no \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full diretório. O SalesInvoices2013 banco de dados já não pode existir no dispositivo de destino ou esse comando falhará com um erro.
RESTORE DATABASE SalesInvoices2013
FROM DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full';
B. Restaure um backup completo e diferencial
O exemplo a seguir restaura um backup completo e, em seguida, diferencial para o SalesInvoices2013 banco de dados
O backup completo do banco de dados é restaurado a partir do backup completo que é armazenado no \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full diretório. Se a restauração for concluída com êxito, o backup diferencial será restaurado no SalesInvoices2013 banco de dados. O backup diferencial é armazenado no \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff diretório.
RESTORE DATABASE SalesInvoices2013
FROM DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff'
WITH BASE = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full'
[;]
C. Restaurar o cabeçalho de backup
Este exemplo restaura as informações de cabeçalho para backup \\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Fullde banco de dados. O comando resulta em uma linha de informações para o Invoices2013Full backup.
RESTORE HEADERONLY
FROM DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full'
[;]
Você pode usar as informações do cabeçalho para verificar o conteúdo de um backup ou para verificar se o dispositivo de restauração de destino é compatível com o dispositivo de backup de origem antes de tentar restaurar o backup.