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.