Sintomas
Considere o seguinte cenário:
-
Em um servidor que está executando o SQL Server 2008 ou o SQL Server 2008 R2, você cria um certificado de servidor no banco de dados mestre.
-
Você habilita a criptografia de dados transparente em um banco de dados de usuário cuja chave de criptografia do banco de dados (DEK) é protegida usando o certificado do servidor.
-
Você solta o certificado do servidor.
-
Você inicia uma nova transação em relação ao banco de dados.
Nesse cenário, a nova transação não é concluída. Especificamente, a transação aguarda indefinidamente com o tipo de espera WRITELOG. Além disso, o banco de dados pode ser marcado como "suspeito". Anotações
-
Esse problema persiste mesmo se você restaurar o certificado de um backup.
-
Quando esse problema ocorre, o SQL Server não responde a uma solicitação de parada. Você pode desligar o SQL Server somente executando o comando shutdown juntamente com a opção nowait.
-
Em determinados cenários, um erro que se parece com o seguinte pode estar registrado no log de erros do SQL Server:
data e hora do erro do spid5s: 33111, severidade: 16, estado: 3.data e hora Spid5s não é possível encontrar o certificado do servidor com a impressão digital ' 0xF9384BBA39E82B87D07A8D9AEBD58DDF55B715A3 '.data e hora do erro do spid175:15507, severidade: 16, estado: 1.data e hora spid175 uma chave necessária para esta operação parece estar corrompida.data e hora do erro do spid175:3314, severidade: 21, estado: 4.data e hora spid175 durante a desatividade de uma operação registrada no banco de dados 'nome do bancode dados ', ocorreu um erro na ID de registro de log (10637:3496:70). Geralmente, a falha específica é registrada anteriormente como um erro no serviço de log de eventos do Windows. Restaurar o banco de dados ou arquivo de um backup ou reparar o banco de dados.data e hora do erro do spid18s: 9001, severidade: 21, estado: 5.data e hora spid18s o log do banco de dados 'nomedo banco de dados ' não está disponível. Verifique se há mensagens de erro relacionadas no log de eventos. Resolva todos os erros e reinicie o banco de dados.
Resolução
Informações do Service Pack para o SQL Server 2008
Para solucionar esse problema, obtenha o Service Pack mais recente do SQL Server 2008. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:
968382 Como obter o Service Pack mais recente para o SQL Server 2008
Informações do Service Pack para SQL Server 2008 R2
Para solucionar esse problema, obtenha o Service Pack mais recente do SQL Server 2008 R2. Para obter mais informações, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:
2527041 Como obter o Service Pack mais recente para o SQL Server 2008 R2Após a aplicação da correção, um usuário não tem permissão para descartar o certificado do servidor se o certificado for usado para proteger um DEK.
Status
A Microsoft confirmou que isso é um problema dos produtos da Microsoft listados na seção "aplica-se a". Esse problema foi corrigido primeiro no SQL Server 2008 R2 Service Pack 1 para SQL Server 2008 R2. Esse problema foi corrigido pela primeira vez no SQL Server 2008 Service Pack 3.
Informações adicionais
Essa correção também evita que o erro 33111 ocorra no seguinte cenário:
-
Um banco de dados está criptografado.
-
O mesmo banco de dados é descriptografado.
-
O certificado que criptografa a chave do banco de dados é Descartado, mas a chave do banco de dados não é descartada.
Quando o computador que executa o SQL Server é reiniciado nesse cenário, o seguinte erro é retornado quando o banco de dados é recuperado:
Erro: 33111, severidade: 16, estado: 3Cannot localizar o certificado do servidor com o thumbprint'0xA89FE581BD3D371CD3E41D48C9978163AB7055F7 '
Após o Service Pack 3 (SP3) ser aplicado ao SQL Server 2008, o seguinte erro é acionado quando o descarte de certificado é feito antes da distribuição da chave do banco de dados:
MSG 3716, nível 16, estado 15, o certificado de linha 2The ' MyServerCert ' não pode ser Descartado porque está associado a uma ou mais chaves de criptografia de banco de dados.
Para corrigir esse problema, siga estas etapas para descriptografar o banco de dados:
-
Recrie o certificado do backup.
-
Traga o banco de dados online.
-
Execute um comando remover chave de criptografia do banco de dados no banco de dados criptografado.
-
Descartar o certificado se isso for o que você deseja fazer nesse caso.
Para obter mais informações sobre criptografia de dados transparente (TDE), acesse o seguinte website do MSDN:
Noções básicas sobre criptografia de dados transparente (TDE)Para obter mais informações sobre terminologia de atualização de software, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:
824684 Descrição da terminologia padrão utilizada para descrever as atualizações de software da Microsoft