Sintomas
Considere o seguinte cenário:
-
Ativa a funcionalidade Grupos de Disponibilidade AlwaysOn no Microsoft SQL Server 2014.
-
A base de dados AlwaysOn tem um tipo de dados definido pelo utilizador (CLR) (UDT). Além disso, o mesmo CLR UDT existe em mais de uma base de dados.
-
Você faz uma consulta que envolve várias bases de dados que têm o CLR UDT.
Neste 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 registo de erro do SQL Server:
2015-02-17 13:07:36.85 Spid27s Desligar base 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 uma base de dados (dados de dados ID 2). A base de dados é uma base de dados de utilizadores que não pôde ser desligada ou uma base de dados do sistema. Reinicie o SQL Server. Se a base de dados não recuperar após outra startup, repare ou restaure a base de dados.
Além disso, recebe a seguinte mensagem de erro na base de dados de réplicas secundárias, e o erro não desaparecerá até reiniciar o SQL Server:
Msg 3961, Nível 16, Estado 1, Transação de isolamento linha 3Snapshot falhou na base de dados '<DatabaseName>' porque o objeto acedido pela declaração foi modificado por uma declaração DDL em outra transação simultânea desde o início desta transação. É proibido porque os metadados não são versados. Uma atualização simultânea aos metadados pode levar a inconsistência se misturada com isolamento instantâneo.
Resolução
Informação de atualização cumulativa
O problema foi corrigido pela primeira vez na seguinte atualização cumulativa do SQL Server.
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Recomendamos que descarregue e instale as últimas atualizações cumulativas para o SQL Server:
Atualizar informaçõesPara resolver este problema, aplique a atualização KB 3043788: Está disponível um pacote de atualização de hotfix a pedido para o SQL Server 2014.
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".