Sintomi

Supponiamo di avere un database abilitato per FILESTREAM in un'istanza di Microsoft SQL Server. Quando si avvia una transazione e si usa 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 usando SqlFileStream all'interno della stessa transazione e commit, è possibile che vengano visualizzati messaggi di errore interni simili ai seguenti:

Data/ora, SPID, sconosciuto, errore: 5571<c/> gravità: 23<c/> stato: 3.Data/ora, SPID, sconosciuto, errore FILESTREAM interno: Impossibile accedere alla tabella di Garbage Collection.

Se si esegue DBCC CHECKTABLE (' sys.filestream_tombstone_2073058421'), è possibile che venga visualizzato il messaggio di errore seguente:

Msg 8951, livello 16, stato 1, riga lineNumber

Errore di tabella: tabella DBCC CHECKTABLE (' sys.filestream_tombstone_2073058421')   (ID NumeroID del). La riga di dati non ha una riga di indice corrispondente nell'indice ' FSTSNCIdx ' (ID NumeroID del). Possibili chiavi mancanti o non valide per la corrispondenza delle righe di indice:

Risoluzione

La correzione per 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 di SQL Server

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

Versioni di compilazione di SQL Server 2017

Versioni di compilazione di SQL Server 2014

Soluzione alternativa

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

Stato

Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".

Riferimenti

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

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.