KB2297709 - CORREÇÃO: Uma mensagem de erro pode ocorrer quando você executa uma consulta "BULK INSERT" em um banco de dados que usa o modelo de recuperação "BULK_LOGGED" ou "SIMPLE" no SQL Server

Aplica-se A
SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Standard Edition for Small Business SQL Server 2008 Workgroup SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 R2 Workgroup SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Sintomas

Tenha em conta o seguinte cenário:

  • Tem uma base de dados que utiliza o modelo de recuperação BULK_LOGGED ou SIMPLE no Microsoft SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 ou SQL Server 2014.
  • Ativa o botão SET XACT_ABORT.
  • Você tenta executar várias instruções BULK INSERT em uma transação distribuída única.

Nesse cenário, a instrução BULK INSERT pode falhar e você receber a seguinte mensagem de erro:

Nota

Localização: pageref.cpp:913

Expressão: IS_OFF (BUF_MINLOGGED, m_buf-bstat>) || pageModifyType != PageModifyType_Contents || GetPagePtr ()->IsTextPage ()
SPID: 56

ID do processo: 2136

Msg 3624, Nível 20, Estado 1, Linha 7

Uma verificação de asserção do sistema falhou. Consulte o registo de erros SQL Server para obter detalhes. Normalmente, uma falha de asserção é causada por um bug de software ou corrupção de dados. Para verificar se há danos no banco de dados, considere executar DBCC CHECKDB. Se concordou em enviar informações de perda para a Microsoft durante a configuração, será enviada uma minicaptura para a Microsoft. Pode estar disponível uma atualização da Microsoft no Service Pack mais recente ou num 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 mini-dump pode ser gerado na pasta de log SQL Server.

Observação Esse problema geralmente ocorre quando SQL Server Integration Services (SSIS) é usado. Por exemplo, o Coordenador de Transações Distribuídas da Microsoft (MS DTC) está envolvido para iniciar transações distribuídas juntamente com SET XACT_ABORT ON se a propriedade de nível de pacote TransactionOption estiver definida como Required.

Causa

Este 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 na atualização cumulativa seguinte do SQL Server.

Atualização Cumulativa 1 para SQL Server 2014 /pt-PT/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

Acerca das atualizações cumulativas para SQL Server

Cada nova atualização cumulativa para 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. Consulte as atualizações cumulativas mais recentes para SQL Server:

      

Solução

Para contornar esse problema, defina o banco de dados para o modelo de recuperação completa.

Estado

A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".

Referências

Para obter mais informações sobre a configuração SET XACT_ABORT, visite o seguinte site da Microsoft Developer Network (MSDN):

Informações gerais sobre a definição "SET XACT_ABORT" Para obter mais informações sobre operações que são minimamente registradas, visite o seguinte site da MSDN:

Informações gerais sobre operações que são minimamente registradas Para obter mais informações sobre como manter a integridade dos dados usando transações, visite o seguinte site da MSDN:

Informações gerais sobre como manter a integridade dos dados através de transações Para obter mais informações sobre o modelo de manutenção incremental para SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:

935897 Um modelo de manutenção incremental está disponível na equipe de SQL Server para fornecer hotfixes para problemas relatados

Para obter mais informações sobre o esquema de nomenclatura para atualizações SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:

822499 Novo esquema de nomenclatura para pacotes de atualização de software do Microsoft SQL Server 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