Sintomas
Considere o seguinte cenário:
-
Habilite o recurso grupos de disponibilidade AlwaysOn no Microsoft SQL Server 2014.
-
O banco de dados AlwaysOn tem o tipo de dados CLR (Common Language Runtime) definido pelo usuário (UDT). Além disso, o mesmo UDT CLR 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, um erro de violação de acesso ocorre na réplica secundária, e a instância do SQL Server falha com a seguinte mensagem no log de erros do SQL Server:
2015-02-17 13:07:36.85 spid27s desligando o banco de dados devido à exceção 2905 durante o processamento de VLR em Commit. 2015-02-17 13:07:36.85 spid27s erro: 3449, severidade: 21, estado: 1.2015-02-17 13:07:36.85 spid27s SQL Server deve ser desligado para recuperar um banco de dados (ID de banco de dados 2). O banco de dados é um banco de dados de usuário que não pode ser fechado ou um banco de dados do sistema. Reinicie o SQL Server. Se o banco de dados não for recuperado após outra inicialização, repare ou restaure o banco de dados.
Além disso, você recebe a seguinte mensagem de erro em seu banco de dados de réplica secundária, e o erro não será exibido até que você reinicie o SQL Server:
MSG 3961, nível 16, estado 1, 3Snapshot transação de isolamento de linha com falha 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 desta transação. Ele não é permitido porque os metadados não têm versão. Uma atualização simultânea dos metadados pode levar à inconsistência se combinada com o isolamento do instantâneo.
Resolução
Informações de atualização cumulativa
O problema foi corrigido primeiro na atualização cumulativa a seguir do 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 do SQL Server:
Informações de atualizaçãoPara solucionar 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 Microsoft listados na seção "Aplicável a".