Sintomas
Considere o seguinte cenário:
- Você habilita o recurso Grupos de Disponibilidade AlwaysOn no Microsoft SQL Server 2014.
- O banco de dados AlwaysOn tem o tipo de dados definido pelo usuário (UDT) CLR (Common Language Runtime). Além disso, o mesmo CLR UDT existe em mais de um banco de dados.
- Você executa uma consulta que envolve vários bancos de dados que têm o CLR UDT.
Nesse cenário, ocorre um erro de violação de acesso na réplica secundária e a instância do SQL Server falha com a seguinte mensagem no log de erros do SQL Server:
Observação
2015-02-17 13:07:36.85 spid27s Desligando o banco de dados devido à exceção 2905 durante o processamento do VLR no commit.
2015-02-17 13:07:36.85 spid27s Erro: 3449, Severidade: 21, Estado: 1.2015-02-17 13:07:36.85 spid27s O SQL Server deve desligar para recuperar um banco de dados (ID do banco de dados 2). O banco de dados é um banco de dados de usuário que não pôde ser desligado ou um banco de dados do sistema. Reinicie o SQL Server. Se o banco de dados não puder ser recuperado após outra inicialização, repare ou restaure o banco de dados.
Além disso, você recebe a seguinte mensagem de erro no banco de dados de réplica secundária e o erro não desaparecerá até que você reinicie o SQL Server:
Observação
Mensagem 3961, Nível 16, Estado 1, Linha 3
A transação de isolamento de instantâneo falhou no banco de dados '<DatabaseName>' porque o objeto acessado pela instrução foi modificado por uma instrução DDL em outra transação simultânea desde o início dessa transação. Ele não é permitido porque os metadados não têm versão. Uma atualização simultânea de metadados pode levar a inconsistências se combinada com o isolamento de snapshot.
Resolução
Informações sobre a atualização cumulativa
O problema foi corrigido pela primeira vez na atualização cumulativa seguinte do SQL Server.
Recomendação: instalar a atualização cumulativa mais recente para o SQL Server
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança incluídas na atualização cumulativa anterior. Recomendamos que você baixe e instale as atualizações cumulativas mais recentes para o SQL Server:
- Atualização cumulativa mais recente do SQL Server 2014 SP1
- Atualização cumulativa mais recente do SQL Server 2014
Informações sobre a atualizaçãoPara resolve esse problema, aplique a atualização KB 3043788: Um pacote de atualização de hotfix sob demanda está disponível para SQL Server 2014 .
Status
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".