Sintomi
Considerare lo scenario descritto di seguito:
-
Si dispone di un database che usa il modello di recupero BULK_LOGGED o semplice in Microsoft SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 o SQL Server 2014.
-
Si attiva l'opzione imposta XACT_ABORT .
-
Si prova a eseguire più istruzioni di inserimento in blocco in una singola transazione distribuita.
In questo scenario l'istruzione INSERT BULK potrebbe non riuscire e viene visualizzato il messaggio di errore seguente:
Posizione: PAGEREF. cpp: 913Expression: IS_OFF (BUF_MINLOGGED, m_buf->BSTAT) | | pageModifyType! = PageModifyType_Contents | | GetPagePtr ()->IsTextPage () SPID: 56Process ID: 2136Msg 3624, Level 20, state 1, il controllo dell'asserzione del sistema line 7A non è riuscito. Per informazioni dettagliate, vedere il log degli errori di SQL Server. In genere, un errore di asserzione è causato da un bug software o da un danneggiamento dei dati. Per verificare il danneggiamento del database, provare a eseguire DBCC CHECKDB. Se si è deciso di inviare dump a Microsoft durante l'installazione, verrà inviato un mini dump a Microsoft. Un aggiornamento potrebbe essere disponibile da Microsoft nell'ultimo Service Pack o in un QFE dal supporto tecnico. msg 0, livello 20, stato 0, riga 0 si è verificato un grave errore nel comando corrente. I risultati, se presenti, devono essere eliminati.
Inoltre, è possibile che venga generato un file minidump nella cartella log di SQL Server. Nota Questo problema si verifica in genere quando viene usato SQL Server Integration Services (SSIS). Ad esempio, Microsoft Distributed Transaction Coordinator (MS DTC) è coinvolto per avviare transazioni distribuite insieme a SET XACT_ABORT attivato se la proprietà TransactionOption Level Package è impostata su required.
Causa
Questo problema si verifica a causa di un errore in SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 o SQL Server 2014.
Risoluzione
Il problema è stato risolto per la prima volta nel seguente aggiornamento cumulativo di SQL Server.
Aggiornamento cumulativo 1 per SQL Server 2014 /en-us/help/2931693
Aggiornamento cumulativo 8 per SQL Server 2012 SP1 /en-us/help/2917531
Aggiornamento cumulativo 10 per SQL Server 2008 R2 SP2 /en-us/help/2908087
Aggiornamento cumulativo 10 per SQL Server 2008 SP1 /en-us/help/2279604
Aggiornamento cumulativo 1 per SQL Server 2008 SP2 /en-us/help/2289254
Aggiornamento cumulativo 5 per SQL Server 2008 R2 /en-us/help/2438347
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:
Soluzione alternativa
Per risolvere il problema, imposta il database sul modello di recupero completo .
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Riferimenti
Per altre informazioni sull'impostazione imposta XACT_ABORT , visitare il sito Web Microsoft Developer Network (MSDN) seguente:
Informazioni generali sull'impostazione "imposta XACT_ABORT"Per altre informazioni sulle operazioni con registrazione minima, visitare il sito Web MSDN seguente:
Informazioni generali sulle operazioni con registrazione minimaPer altre informazioni su come mantenere l'integrità dei dati tramite le transazioni, visitare il sito Web MSDN seguente:
Informazioni generali su come mantenere l'integrità dei dati usando le transazioniPer altre informazioni sul modello di manutenzione incrementale per SQL Server, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:
935897 Un modello di manutenzione incrementale è disponibile nel team di SQL Server per fornire gli hotfix per i problemi segnalatiPer altre informazioni sullo schema di denominazione per gli aggiornamenti di SQL Server, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:
822499Nuovo schema di denominazione per i pacchetti di aggiornamento software di Microsoft SQL ServerPer altre informazioni sulla terminologia degli aggiornamenti software, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:
824684 Descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft