RESTORE MASTER KEY (Transact-SQL)
Aplica-se: SQL Server
Importa uma chave mestra de banco de dados de um arquivo de backup.
Importante
O SQL Server 2022 (16.x) apresenta suporte para backup e restauração da chave mestra do banco de dados em um armazenamento de blobs do Azure. A sintaxe URL
só está disponível para o SQL Server 2022 (16.x) ou posterior.
Convenções de sintaxe de Transact-SQL
Sintaxe
RESTORE MASTER KEY FROM
{
FILE = 'path_to_file'
| URL = 'Azure Blob storage URL'
}
DECRYPTION BY PASSWORD = 'password'
ENCRYPTION BY PASSWORD = 'password'
[ FORCE ]
Argumentos
FILE ='path_to_file'
Especifica o caminho completo, inclusive o nome do arquivo, para a chave mestra do banco de dados armazenado. path_to_file pode ser um caminho local ou um caminho UNC para um local de rede.
URL ='URL do Armazenamento de Blobs do Azure'
Aplica-se a: SQL Server 2022 (16.x) e versões posteriores
É a URL do Armazenamento de Blobs do Azure, no formato semelhante a https://<storage_account_name>.blob.core.windows.net/<storage_container_name>/<backup_file_name>.bak
.
DECRYPTION BY PASSWORD ='password'
Especifica a senha exigida para decifrar a chave mestra de banco de dados que está sendo importada de um arquivo.
ENCRYPTION BY PASSWORD ='password'
Especifica a senha usada para criptografar a chave mestra de banco de dados depois que ela é carregada no banco de dados.
FORCE
Especifica que o processo RESTORE deve continuar, mesmo que a chave mestra do banco de dados atual não seja aberta ou que o SQL Server não possa descriptografar algumas das chaves privadas criptografadas com ela.
Comentários
Quando a chave mestra é restaurada, o SQL Server descriptografa todas as chaves atualmente criptografadas com a chave mestra ativa e criptografa essas chaves com a chave mestra restaurada. Essa operação de uso intensivo de recursos deve ser agendada em um período de baixa demanda. Se a chave mestra do banco de dados atual não estiver aberta ou não puder ser aberta ou se uma das chaves criptografadas por ela não puder ser descriptografada, a operação de restauração falhará.
Use a opção de FORCE somente se a chave mestra for irrecuperável ou se descriptografia falhar. As informações que só são criptografadas por uma chave irrecuperável serão perdidas.
Se a chave mestra foi criptografada pela chave mestra de serviço, a chave mestra restaurada também será criptografada pela chave mestra de serviço.
Se não houver nenhuma chave mestra no banco de dados atual, RESTORE MASTER KEY criará uma chave mestra. A nova chave mestra não será criptografada automaticamente com a chave mestra de serviço.
Se você estiver usando o SQL Server 2022 (16.x) e posterior e quiser restaurar a chave mestra do banco de dados de um armazenamento de blobs do Azure, os seguintes pré-requisitos se aplicarão:
Ter uma conta do Armazenamento do Azure.
Criar uma política de acesso armazenado e um armazenamento de acesso compartilhado.
Criar uma credencial do SQL Server usando uma assinatura de acesso compartilhado.
Para obter mais informações, confira Tutorial: Usar o Armazenamento de Blobs do Azure com o SQL Server.
Permissões
Exige a permissão CONTROL no banco de dados.
Exemplos
O exemplo a seguir restaura a chave mestra do banco de dados AdventureWorks2022
de um arquivo.
USE AdventureWorks2022;
RESTORE MASTER KEY
FROM FILE = 'c:\backups\keys\AdventureWorks2022_master_key'
DECRYPTION BY PASSWORD = '3dH85Hhk003#GHkf02597gheij04'
ENCRYPTION BY PASSWORD = '259087M#MyjkFkjhywiyedfgGDFD';
GO
O exemplo a seguir restaura a chave mestra do banco de dados AdventureWorks2022
de um Armazenamento de Blobs do Azure.
USE AdventureWorks2022;
RESTORE MASTER KEY
FROM URL = 'https://mydocsteststorage.blob.core.windows.net/mytestcontainer/AdventureWorks2022_master_key.bak'
DECRYPTION BY PASSWORD = '3dH85Hhk003#GHkf02597gheij04'
ENCRYPTION BY PASSWORD = '259087M#MyjkFkjhywiyedfgGDFD';
GO
Confira também
CREATE MASTER KEY (Transact-SQL)
ALTER MASTER KEY (Transact-SQL)
Hierarquia de criptografia
RESTORE SYMMETRIC KEY