Sintomas
Considere o seguinte cenário:
-
Tem uma base de dados que utiliza 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.
-
Ligue o interruptor SET XACT_ABORT.
-
Tente executar várias declarações DE INSERT A GRANEL numa transação distribuída por um único.
Neste cenário, a declaração DE INSERÇÃO A GRANEL pode falhar e recebe a seguinte mensagem de erro:
Localização: pageref.cpp:913Expressão: IS_OFF (BUF_MINLOGGED, m_buf->bstat) [ pageModifyType != PageModifyType_Contents [ GetPagePtr ()->IsTextPage ()SPID: 56Process ID: 2136Msg 3624, Nível 20, Estado 1, Verificação de afirmação do sistema line 7A falhou. Verifique o registo de erros do SQL Server para obter mais detalhes. Normalmente, uma falha de afirmação é causada por um bug de software ou corrupção de dados. Para verificar se existe corrupção na base de dados, considere executar o DBCC CHECKDB. Se concordar em enviar despejos para a Microsoft durante a configuração, será enviada uma mini lixeira para a Microsoft. Uma atualização pode estar disponível da Microsoft no mais recente Pack de Serviços ou num QFE de 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 ficheiro de mini-despejo pode ser gerado na pasta de registo do SQL Server. Nota Este problema ocorre geralmente quando os Serviços de Integração do Servidor SQL (SSIS) são utilizados. Por exemplo, o Coordenador de Transações Distribuídas da Microsoft (MS DTC) está envolvido para iniciar transações distribuídas juntamente com o SET XACT_ABORT ON se a propriedade do pacote transactionOption estiver definida como Necessária.
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 pela primeira vez na seguinte atualização cumulativa 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 que foram incluídas com a atualização cumulativa anterior. Confira as últimas atualizações cumulativas do SQL Server:
Solução
Para contornar esta questão, deite a base de dados para o modelo de recuperação completa.
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".
Referências
Para obter mais informações sobre a definição de set XACT_ABORT, visite o seguinte website da Microsoft Developer Network (MSDN):
Informações gerais sobre a definição "SET XACT_ABORT"Para obter mais informações sobre operações que estejam minimamente registadas, visite o seguinte website da MSDN:
Informações gerais sobre operações que são minimamente registadasPara obter mais informações sobre como manter a integridade dos dados utilizando transações, visite o seguinte website da MSDN:
Informações gerais sobre como manter a integridade dos dados utilizando transaçõesPara obter mais informações sobre o Modelo de Manutenção Incremental para O Servidor SQL, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:
935897 Um Modelo de Manutenção Incremental está disponível na equipa do SQL Server para entregar hotfixes para problemas relatadosPara obter mais informações sobre o esquema de nomeação para atualizações do SQL Server, clique no seguinte número de artigo para ver o artigo na Base 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 a terminologia da atualização do software, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:
824684Descrição da terminologia padrão utilizada para descrever as atualizações de software da Microsoft