Migre dados para ou de colunas usando o Always Encrypted com o SQL Server Import and Export Wizard

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada SQL do Azure

O SQL Server Import and Export Wizard é uma ferramenta que permite copiar dados de uma fonte para um destino. Este artigo descreve como usar o SQL Server Import and Export Wizard quando a origem, o destino ou ambos são bases de dados SQL Server que contêm colunas protegidas com Always Encrypted.

Cenários de migração

Com o Assistente de Importação e Exportação do SQL Server, você pode implementar os seguintes cenários para migrar dados de ou para colunas criptografadas.

Criptografar dados de texto sem formatação na migração

Se a sua fonte de dados contiver dados em texto simples e o seu destino for uma base de dados do SQL Server que contém colunas encriptadas, pode usar o Assistente de Importação e Exportação do SQL Server para recuperar os dados em texto simples da fonte, encriptá-los e copiar os dados encriptados (texto cifrado) para as colunas encriptadas na base de dados de destino. Neste cenário de migração, a fonte de dados pode ser qualquer armazenamento de dados que o SQL Server Import and Export Wizard suporte, como um ficheiro, uma base de dados do SQL Server ou uma base de dados noutro sistema de base de dados.

Para garantir que o Assistente de Importação e Exportação do SQL Server pode encriptar dados, ative o Always Encrypted para a ligação à base de dados de destino e assegure que tem acesso às chaves que protegem os dados nas colunas da base de dados de destino. Para obter mais informações, consulte Habilitar e desabilitar o Always Encrypted para uma conexão de banco de dados e Permissões para criptografar ou descriptografar dados durante a migração.

Desencriptar dados encriptados na migração

Se estiver a migrar dados armazenados em colunas de base de dados encriptadas numa base de dados do SQL Server, pode configurar o SQL Server Import and Export Wizard para desencriptar os dados e copiar os dados desencriptados (em texto simples) para um destino. O destino pode ser qualquer armazenamento de dados que o Assistente de Importação e Exportação do SQL Server suporte, como um ficheiro, uma base de dados do SQL Server ou uma base de dados noutro sistema de base de dados.

Para garantir que o Assistente de Importação e Exportação do SQL Server pode desencriptar dados, ative o Always Encrypted para a ligação à base de dados de origem e assegure que tem acesso às chaves que protegem os dados nas colunas da base de dados de origem. Para obter mais informações, consulte Habilitar e desabilitar o Always Encrypted para uma conexão de banco de dados e Permissões para criptografar ou descriptografar dados durante a migração.

Criptografar novamente os dados na migração

Se estiver a copiar dados de colunas encriptadas numa base de dados SQL Server de origem para colunas encriptadas na mesma ou noutra base de dados SQL Server, pode configurar o SQL Server Import and Export Wizard para desencriptar os dados depois de os recuperar da fonte, e voltar a encriptá-los antes de os inserir nas colunas encriptadas na base de dados de destino. Utilize este método se o esquema das colunas de destino, como tipos de dados de colunas, tipos de encriptação e chaves de encriptação de colunas, for diferente do esquema das colunas de origem.

Para garantir que o Assistente de Importação e Exportação do SQL Server pode encriptar e desencriptar dados, ative o Always Encrypted tanto para a ligação à base de dados de origem como para a de destino, e assegure que tem acesso às chaves que protegem os dados nas colunas da base de dados de origem e de destino. Para obter mais informações, consulte Habilitar e desabilitar o Always Encrypted para uma conexão de banco de dados e Permissões para criptografar ou descriptografar dados durante a migração.

Mantenha os dados criptografados durante a migração

Se estiver a copiar dados de colunas encriptadas numa base de dados SQL Server de origem para colunas encriptadas na mesma ou noutra base de dados SQL Server, e as colunas de destino usarem exatamente o mesmo esquema das colunas de origem, incluindo os mesmos tipos de dados, tipos de encriptação e chaves de encriptação de coluna, pode configurar o SQL Server Import and Export Wizard para recuperar texto cifrado das colunas de origem e inserir os dados encriptados (texto cifrado) na coluna encriptada na base de dados SQL Server de destino.

Neste cenário, utilize qualquer fornecedor de dados que suporte o SQL Server para se ligar à base de dados SQL Server de origem ou destino. Se estiver a usar um fornecedor que suporta o Always Encrypted para se ligar à base de dados de destino, certifique-se de que o Always Encrypted está desativado para a ligação à base de dados. Para obter mais informações, consulte Habilitar e desabilitar o Always Encrypted para uma conexão de banco de dados.

Também precisa de garantir que o principal da base de dados (utilizador) que o SQL Server Import and Export Wizard usa para se ligar à base de dados de destino está configurado com a ALLOW_ENCRYPTED_VALUE_MODIFICATIONS opção definida para ON. Esta opção suprime as verificações de metadados criptográficos no servidor em operações de cópia em massa, o que permite ao assistente inserir em massa os dados encriptados na base de dados de destino sem os desencriptar. Para mais informações, consulte Carregar dados encriptados em massa para colunas protegidas por Always Encrypted.

Habilitar e desabilitar o Always Encrypted para uma conexão de banco de dados

Se o seu cenário de migração exigir que o Assistente de Importação e Exportação do SQL Server encripte ou desencripte dados, configure a ligação da base de dados SQL Server de origem, a ligação de destino ao SQL Server, ou ambas, usando um fornecedor de dados que suporte o Always Encrypted. Também precisas de ativar o Always Encrypted para essas ligações.

Usa qualquer fornecedor de dados para uma conexão se não precisares do assistente para encriptar ou desencriptar dados nessa conexão.

Os seguintes provedores de dados no Assistente de Importação e Exportação do SQL Server oferecem suporte a Always Encrypted.

Permissões para criptografar ou descriptografar dados durante a migração

Para encriptar ou desencriptar dados armazenados numa base de dados de origem ou destino do SQL Server, precisa das permissões VIEW ANY COLUMN MASTER KEY DEFINITION e VIEW ANY COLUMN ENCRYPTION KEY DEFINITION na base de dados de origem. Você também precisa de permissões de armazenamento de chaves para acessar e usar sua chave mestra de coluna. Para informações detalhadas sobre as permissões do repositório de chaves necessárias para operações de gestão de chaves, consulte Criar e armazenar chaves-mestras da coluna para Always Encrypted e encontre a secção relevante para o seu repositório de chaves.