KB4469722 - CORREZIONE: messaggi di errore interni quando si aggiorna una tabella di sistema di rimozione definitiva FILESTREAM in SQL Server

Si applica a
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Sintomi

Si supponga di avere un database abilitato per FILESTREAM in un'istanza di Microsoft SQL Server. Quando si avvia una transazione e si utilizza l'API .NET SqlFileStream per aprire un file Filestream, l'attività potrebbe non riuscire e generare un'eccezione a causa di fattori esterni.

Se si apre di nuovo il file utilizzando SqlFileStream all'interno della stessa transazione e commit, è possibile che vengano visualizzati messaggi di errore interni simili ai seguenti:

Nota

data e ora, spids, Sconosciuto, Errore: 5571<c/> Gravità: 23<c/> Stato: 3.
data time, spids, Unknown, Internal FILESTREAM error: failed to access the Garbage Collection table.

Se si esegue dbcc checktable ('sys.filestream_tombstone_2073058421'), potrebbe essere visualizzato il messaggio di errore seguente:

Nota

Msg 8951, Livello 16, Stato 1, LineNumber

Errore di tabella: tabella dbcc checktable ('sys.filestream_tombstone_2073058421') ( IDNumber). La riga di dati non ha una riga di indice corrispondente nell'indice 'FSTSNCIdx' (IDNumber). Possibili chiavi mancanti o non valide per la corrispondenza della riga di indice:

Risoluzione

La correzione di questo problema è inclusa negli aggiornamenti seguenti per SQL Server:

Aggiornamento cumulativo 13 per SQL Server 2017

Aggiornamento cumulativo 1 per SQL Server 2014 Service Pack 3

Aggiornamento cumulativo 15 per SQL Server 2014 Service Pack 2

Informazioni sulle build SQL Server

Ogni nuova build per SQL Server contiene tutti gli aggiornamenti rapidi e le correzioni per la sicurezza inclusi nella build precedente. È consigliabile installare la build più recente per la versione di SQL Server:

Versioni della build SQL Server 2017

Versioni della build SQL Server 2014

Soluzione alternativa

Per risolvere il problema, ricreare l'indice del database usando il comando DBCC CHECKTABLE .

Stato

Microsoft ha confermato che si tratta di un problema relativo ai prodotti elencati nella sezione "Si applica a".

Riferimenti

Informazioni sulla terminologia standard utilizzata da Microsoft per descrivere gli aggiornamenti software.