Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Erro do SSMS 2016 ao importar bacpac do Azure SQL v12:chaves mestras sem senha não são suportadas


Eu tive o mesmo problema. Depois de falar com o suporte do Azure, eles descobriram que o problema foi causado porque uma chave mestra de banco de dados em branco é criada para criptografar as credenciais de armazenamento para a auditoria (a auditoria é uma configuração opcional).

Observe que as configurações de auditoria do banco de dados são herdadas das configurações do servidor.

De qualquer forma, o trabalho em torno que eles criaram foi:
  1. Desabilitar auditoria no servidor (ou banco de dados)
  2. Solte a chave mestra do banco de dados com DROP MASTER KEY comando.

Em seguida, a exportação funciona conforme o esperado. Espero que o Azure corrija esse problema em breve para que a auditoria e a exportação possam funcionar juntas.

Atualização em 21 de março de 2017 Melhor solução alternativa da MS

Como a correção levará algum tempo para ser implantada, eles também sugeriram uma solução alternativa, que não exigirá nenhuma etapa adicional (como desabilitar a auditoria ou as etapas do blog) do seu lado para evitar esse problema. Depois que a auditoria estiver habilitada, atualize a chave mestra e defina a senha. Definir uma senha para a chave mestra existente atenuará o problema. Além disso, definir a senha não afetará a auditoria e continuará funcionando. A sintaxe para adicionar a senha é a seguinte:
-- execute in the user database
ALTER MASTER KEY ADD ENCRYPTION BY PASSWORD = ‘##############’;

O link também tem um script do PowerShell que você pode usar para remover a instrução SQL incorreta do .bacpac Arquivo.