Sintomas
Considere o seguinte cenário:
-
Você tem um banco de dados que usa o modelo de recuperação BULK_LOGGED ou simples no Microsoft SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 ou SQL Server 2014.
-
Você ativa a opção definir XACT_ABORT .
-
Você tenta executar várias instruções de inserção em massa em uma transação de distribuição única.
Nesse cenário, a instrução BULK INSERT pode falhar, e você recebe a seguinte mensagem de erro:
Local: PAGEREF. cpp: 913Expression: IS_OFF (BUF_MINLOGGED, m_buf->BSTAT) | | pageModifyType! = PageModifyType_Contents | | GetPagePtr ()->IsTextPage () SPID: 56Process ID: 2136Msg 3624, nível 20, estado 1, linha 7A falha na verificação de declaração do sistema. Verifique o log de erros do SQL Server para obter detalhes. Geralmente, uma falha de asserção é causada por um bug de software ou corrupção de dados. Para verificar se há corrupção do banco de dados, considere executar DBCC CHECKDB. Se você concordou em enviar despejos para a Microsoft durante a instalação, um mini despejo será enviado à Microsoft. Uma atualização pode estar disponível na Microsoft no Service Pack mais recente ou em uma QFE do suporte técnico. msg 0, nível 20, estado 0, linha 0 ocorreu um erro grave no comando atual. Os resultados, se houver, devem ser descartados.
Além disso, um arquivo de mini-despejo pode ser gerado na pasta de log do SQL Server. Observação Esse problema geralmente ocorre quando o SSIS (SQL Server Integration Services) é usado. Por exemplo, o coordenador de transações distribuídas da Microsoft (MS DTC) está envolvido para iniciar transações distribuídas juntamente com o conjunto XACT_ABORT se a propriedade do nível do pacote do TransactionOption estiver definida como obrigatória.
Causa
Esse problema ocorre devido a um erro no SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 ou SQL Server 2014.
Resolução
O problema foi corrigido primeiro na atualização cumulativa a seguir do SQL Server.
Atualização cumulativa 1 para SQL Server 2014 /en-us/help/2931693
Atualização cumulativa 8 para SQL Server 2012 SP1 /en-us/help/2917531
Atualização cumulativa 10 para SQL Server 2008 R2 SP2 /en-us/help/2908087
Atualização cumulativa 10 para SQL Server 2008 SP1 /en-us/help/2279604
Atualização cumulativa 1 para SQL Server 2008 SP2 /en-us/help/2289254
Atualização cumulativa 5 para SQL Server 2008 R2 /en-us/help/2438347
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. Confira as atualizações cumulativas mais recentes do SQL Server:
Solução alternativa
Para contornar esse problema, defina o banco de dados como o modelo de recuperação completa .
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft que estão listados na seção "Aplicável a".
Referências
Para obter mais informações sobre a configuração do XACT_ABORT definir , acesse o seguinte site da Microsoft Developer Network (MSDN):
Informações gerais sobre a configuração "definir XACT_ABORT"Para obter mais informações sobre as operações que são registradas minimamente, acesse o seguinte website da MSDN:
Informações gerais sobre operações que são registradas minimamentePara obter mais informações sobre como manter a integridade dos dados usando transações, acesse o seguinte website da MSDN:
Informações gerais sobre como manter a integridade dos dados usando transaçõesPara obter mais informações sobre o modelo de manutenção incremental do SQL Server, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:
935897 Um modelo de serviço incremental está disponível na equipe do SQL Server para fornecer hotfixes para problemas relatadosPara obter mais informações sobre o esquema de nomeação para atualizações do SQL Server, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:
822499Novo esquema de nomeação para pacotes de atualização de software do Microsoft SQL ServerPara 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