Migre dados para ou de colunas usando o Always Encrypted com o Assistente de Importação e Exportação do SQL Server

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de 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 Assistente de Importação e Exportação do SQL Server quando a fonte, o destino ou ambos são um banco de dados do 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, é possível implementar os seguintes cenários para migrar dados para colunas criptografadas ou delas.

Criptografar dados em texto simples durante a migração

Se sua fonte de dados contém dados em texto simples e seu destino for um banco de dados SQL Server que contém colunas criptografadas, você pode usar o Assistente de Importação e Exportação do SQL Server para recuperar os dados em texto simples da fonte, criptografá-los e copiar os dados criptografados (texto cifrado) para as colunas criptografadas no banco de dados de destino. Para esse cenário de migração, a fonte de dados pode ser qualquer repositório de dados que o SQL Server Import and Export Wizard suporte, como um arquivo, um banco de dados do SQL Server ou um banco de dados em outro sistema de banco de dados.

Para garantir que o Assistente de Importação e Exportação do SQL Server possa criptografar dados, ative o Always Encrypted para a conexão do banco de dados de destino e garanta acesso às chaves que protegem os dados nas colunas do banco de dados de destino. Para obter mais informações, confira 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.

Descriptografar dados criptografados durante a migração

Se você estiver migrando dados armazenados em colunas de banco de dados criptografadas em um banco de dados do SQL Server, pode configurar o SQL Server Import and Export Wizard para descriptografar os dados e copiar os dados descriptografados (em texto simples) para um destino. O destino pode ser qualquer armazenamento de dados que o SQL Server Import and Export Wizard suporte, como um arquivo, um banco de dados do SQL Server ou um banco de dados em outro sistema de banco de dados.

Para garantir que o Assistente de Importação e Exportação do SQL Server possa descriptografar dados, ative o Always Encrypted para a conexão do banco de dados de origem e garanta acesso às chaves que protegem os dados nas colunas do banco de dados de origem. Para obter mais informações, confira 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 dados novamente na migração

Se você está copiando dados de colunas criptografadas em um banco de dados SQL Server de origem para colunas criptografadas no mesmo ou outro banco de dados SQL Server, pode configurar o SQL Server Import and Export Wizard para descriptografar os dados após recuperá-los da fonte, e recriptografá-los antes de inseri-los nas colunas criptografadas no banco de dados de destino. Use esse método se o esquema das colunas de destino, como tipos de dados de coluna, tipos de criptografia e chaves de criptografia de coluna, diferir do esquema das colunas de origem.

Para garantir que o SQL Server Import and Export Wizard possa criptografar e descriptografar dados, ative o Always Encrypted tanto para a conexão do banco de dados de origem quanto para a conexão do banco de dados de destino e garanta que você tenha acesso às chaves que protegem os dados nas colunas do banco de dados de origem e de destino. Para obter mais informações, confira 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.

Manter os dados criptografados durante a migração

Se você está copiando dados de colunas criptografadas em um banco de dados SQL Server de origem para colunas criptografadas no mesmo ou outro banco de dados SQL Server, e as colunas de destino usam exatamente o mesmo esquema das colunas de origem, incluindo os mesmos tipos de dados, tipos de criptografia e chaves de criptografia de coluna, você pode configurar o SQL Server Import and Export Wizard para recuperar texto cifrado das colunas de origem e inserir os dados criptografados (texto cifrado) na coluna criptografada no banco de dados SQL Server de destino.

Para esse cenário, use qualquer provedor de dados que suporte SQL Server para se conectar ao banco de dados SQL Server de origem ou destino. Se você estiver usando um provedor que suporta o Always Encrypted para se conectar ao banco de dados de destino, certifique-se de que o Always Encrypted esteja desativado para a conexão com o banco de dados. Para obter mais informações, confira Habilitar e desabilitar o Always Encrypted para uma conexão de banco de dados.

Você também precisa garantir que o principal do banco de dados (usuário) que o SQL Server Import and Export Wizard usa para se conectar ao banco de dados de destino esteja configurado com a ALLOW_ENCRYPTED_VALUE_MODIFICATIONS opção definida para ON. Essa opção suprime as verificações de metadados criptográficos no servidor em operações de cópia em massa, permitindo que o assistente insira em massa os dados criptografados no banco de dados de destino sem precisar descriptografá-los. Para mais informações, veja Carregar dados criptografados em massa em colunas protegidas por Always Encrypted.

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

Se seu cenário de migração exigir que o SQL Server Import and Export Wizard criptografe ou descriptografe dados, configure a conexão do banco de dados SQL Server de origem, a conexão de banco de dados SQL Server de destino, ou ambos, usando um provedor de dados que suporte Always Encrypted. Você também precisa ativar o Always Encrypted para essas conexões.

Use qualquer provedor de dados para uma conexão se você não precisar do assistente para criptografar ou descriptografar dados nessa conexão.

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

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

Para criptografar ou descriptografar dados armazenados em um banco de dados de origem ou destino do SQL Server, você precisa das permissões VIEW ANY COLUMN MASTER KEY DEFINITION e VIEW ANY COLUMN ENCRYPTION KEY DEFINITION no banco de dados de origem. Você também precisa de permissões do repositório de chaves para acessar e usar sua chave mestra de coluna. Para informações detalhadas sobre as permissões de repositório de chaves necessárias para operações de gerenciamento de chaves, veja Criar e armazenar chaves mestras de coluna para Always Encrypted e encontre a seção relevante para seu repositório de chaves.