Symptome
Angenommen, Sie verfügen über eine FILESTREAM-fähige Datenbank in einer instance von Microsoft SQL Server. Wenn Sie eine Transaktion starten und die SqlFileStream .NET-API verwenden, um eine Filestream-Datei zu öffnen, schlägt die Aufgabe möglicherweise fehl und löst aufgrund externer Faktoren eine Ausnahme aus.
Wenn Sie die Datei erneut öffnen, indem Sie SqlFileStream innerhalb derselben Transaktion und eines Commits verwenden, erhalten Sie möglicherweise interne Fehlermeldungen, die der folgenden ähneln:
Hinweis
Datum Uhrzeit, Spids, Unbekannt, Fehler: 5571<c/> Schweregrad: 23<c/> Status: 3.
date time, spids, Unknown, Internal FILESTREAM error: failed to access the garbage collection table. (Datum uhrzeit, Spids, Unbekannt, Interner FILESTREAM-Fehler: Fehler beim Zugriff auf die Garbage Collection-Tabelle.
Wenn Sie dbcc checktable ("sys.filestream_tombstone_2073058421") ausführen, wird möglicherweise die folgende Fehlermeldung angezeigt:
Hinweis
Msg 8951, Level 16, State 1, Line LineNumber
Tabellenfehler: tabelle dbcc checktable ('sys.filestream_tombstone_2073058421') (ID IDNumber). Die Datenzeile enthält keine übereinstimmende Indexzeile im Index "FSTSNCIdx" (IDIDNumber). Mögliche fehlende oder ungültige Schlüssel für den Indexzeilenabgleich:
Lösung
Die Behebung dieses Problems ist in den folgenden Updates für SQL Server enthalten:
Kumulatives Update 13 für SQL Server 2017
Kumulatives Update 1 für SQL Server 2014 Service Pack 3
Kumulatives Update 15 für SQL Server 2014 Service Pack 2
Informationen zu SQL Server Builds
Jeder neue Build für SQL Server enthält alle Hotfixes und Sicherheitsfixes aus dem vorherigen Build. Es wird empfohlen, den neuesten Build für Ihre Version von SQL Server zu installieren:
SQL Server 2017-Buildversionen
Buildversionen von SQL Server 2014
Problemumgehung
Um dieses Problem zu umgehen, erstellen Sie den Datenbankindex mit dem Befehl DBCC CHECKTABLE neu.
Status
Microsoft hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten ist, die im Abschnitt „Gilt für“ aufgeführt sind.
Referenzmaterial
Erfahren Sie mehr über die Standardterminologie , die Microsoft zum Beschreiben von Softwareupdates verwendet.