Sintomi
Considerare lo scenario descritto di seguito:
-
Si esegue un'istruzione MERGE che include una clausola OUTPUT all'interno di una stored procedure o un batch Transact-SQL ad hoc in SQL Server 2016 o 2017 in Windows.
-
Il database di destinazione USA BULK_LOGGED o un modello di recupero semplice.
-
Si inserisce una grande quantità di dati (ad esempio: circa 6.000 righe) in una tabella in un altro database.
In questo scenario si verifica un errore di asserzione e potrebbe essere visualizzato un messaggio di errore simile al seguente:
Msg 3624, livello 20, stato 1, riga lineNumber
Il controllo dell'asserzione di sistema 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 nel Service Pack più recente o in un hotfix dal supporto tecnico.
Risoluzione
Informazioni sull'aggiornamento cumulativo:
Questo problema è stato risolto negli aggiornamenti cumulativi seguenti per SQL Server:
Aggiornamento cumulativo 12 per SQL Server 2017
Aggiornamento cumulativo 4 per SQL Server 2016 SP2
Aggiornamento cumulativo 13 per SQL Server 2016 Service Pack 1
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:
Informazioni sull'hotfix su richiesta:
Questo problema è stato risolto con il seguente hotfix su richiesta per SQL Server:
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Riferimenti
Informazioni sulla terminologiautilizzata da Microsoft per descrivere gli aggiornamenti software.