Sintomas
Considere o seguinte cenário:
-
Num servidor que está a executar o SQL Server 2008 ou o SQL Server 2008 R2, cria-se um certificado de servidor na base de dados principal.
-
Ativa a encriptação de dados transparente numa base de dados do utilizador cuja chave de encriptação de base de dados (DEK) é protegida através do certificado de servidor.
-
Deixe cair o certificado do servidor.
-
Começa-se uma nova transação na base de dados.
Neste cenário, a nova transação não está concluída. Especificamente, a transação aguarda indefinidamente com o tipo de espera WRITELOG. Além disso, a base de dados pode ser marcada como "suspeito". Notas
-
Este problema persiste mesmo que restaure o certificado a partir de uma cópia de segurança.
-
Quando este problema ocorre, o SQL Server não responde a um pedido de Stop. Só pode desligar o SQL Server executando o comando 'Desligar', juntamente com a opção NOWAIT.
-
Em certos cenários, um erro que se assemelhe ao seguinte pode ser registado no registo de erro do SQL Server:
tempo de data espiado5s Erro: 33111, Severidade: 16, Estado: 3.data spid5s Não é possível encontrar o certificado do servidor com impressão digital '0xF9384BBA39E82B87D7A8D9AEBD58DDF55B715A3'.data espiada175 Erro: 15507, Severidade: 16, Estado: 1.data espiada175 Uma chave requerida por esta operação parece estar corrompida.tempo de data espiado175 Erro: 3314, Severidade: 21, Estado: 4.data espiada175 Durante a destruição de uma operação registada no nome da base de dados da base dedados, ocorreu um erro no registo de registo de registo (10637:3496:70). Normalmente, a falha específica é registada anteriormente como um erro no serviço de Registo de Eventos do Windows. Restaurar a base de dados ou o ficheiro a partir de uma cópia de segurança ou reparar a base de dados.tempo de data espiado18s Erro: 9001, Severidade: 21, Estado: 5.data spid18s O registo donome da base de dadosnão está disponível. Verifique o registo do evento para obter mensagens de erro relacionadas. Resolva quaisquer erros e reinicie a base de dados.
Resolução
Informações do pacote de serviços para SQL Server 2008
Para resolver este problema, obtenha o mais recente pacote de serviços para o SQL Server 2008. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:
968382 Como obter o mais recente pacote de serviços para SQL Server 2008
Informações do pacote de serviços para SQL Server 2008 R2
Para resolver este problema, obtenha o mais recente pacote de serviços para SQL Server 2008 R2. Para mais informações, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:
2527041 Como obter o mais recente pacote de serviços para SQL Server 2008 R2Após a aplicação da correção, um utilizador não pode deixar cair o certificado do servidor se o certificado for utilizado para garantir um DEK.
Estado
A Microsoft confirmou que se trata de um problema nos produtos da Microsoft que estão listados na secção "Aplica-se a". Este problema foi corrigido pela primeira vez no SQL Server 2008 R2 Service Pack 1 para SQL Server 2008 R2. Este problema foi corrigido pela primeira vez no SQL Server 2008 Service Pack 3.
Mais Informações
Esta correção também impede que o erro 33111 ocorra no seguinte cenário:
-
Uma base de dados está encriptada.
-
A mesma base de dados está desencriptada.
-
O certificado que encripta a chave da base de dados é largado, mas a chave da base de dados não é largada.
Quando o computador que está a executar o SQL Server é reiniciado neste cenário, o seguinte erro é devolvido quando a base de dados é recuperada:
Erro: 33111, Severidade: 16, Estado: 3Canot encontrar certificado de servidor com impressão digital digital'0xA89FE581BD3D31CD31D48C9978163AB7055F7'
Após o Pacote de Serviço 3 (SP3) ser aplicado ao SQL Server 2008, o seguinte erro é desencadeado quando a queda do certificado é feita antes da queda da chave da base de dados:
Msg 3716, Nível 16, Estado 15, Linha 2O certificado 'MyServerCert' não pode ser largado porque está ligado a uma ou mais chaves de encriptação de base de dados.
Para corrigir este problema, siga estes passos para desencriptar a base de dados:
-
Re-crie o certificado a partir de cópia de segurança.
-
Traga a base de dados on-line.
-
Executar um comando DE CHAVE DE ENCRIPTAÇÃO DROP DATABASE na base de dados encriptada.
-
Largue o certificado se é isso que quer fazer neste caso.
Para obter mais informações sobre encriptação de dados transparentes (TDE), aceda ao seguinte website da MSDN:
Compreensão da encriptação transparente de dados (TDE)Para obter mais informações sobre a terminologia da atualização do software, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:
824684Descrição da terminologia padrão utilizada para descrever as atualizações de software da Microsoft