Problembeschreibung
Stellen Sie sich folgendes Szenario vor:
-
Sie verfügen über eine sehr große FILESTREAM-Tabelle.
-
Sie führen eine Löschabfrage von Zeilen in der FILESTREAM-Tabelle aus, die einen kostspieligen Abfrageplan erstellt, beispielsweise einen, der durch eine innere Verknüpfung zu einer anderen umfangreichen Tabelle im System gefiltert wird.
-
Der Abfrageoptimierer wählt einen parallelen Ausführungsplan aus.
In diesem Szenariotritt eine ssertion auf, und Sie erhalten möglicherweise Fehlermeldungen, die im SQL Server-Fehlerprotokoll wie folgt aussehen:
DateTime -SPID- SpidNumber -Fehler: 5553, Schweregrad: 20, Bundesland: 6.
DateTime -SPID- SpidNumber interner SQL Server-Fehler. Der FileStream-Manager kann mit dem aktuellen Befehl nicht fortfahren.
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.
Fehlerbehebung
Das Problem wurde in den folgenden kumulativen Updates für SQL Server behoben:
Informationen zu kumulativen Updates für SQL Server:
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsupdates, die in der vorherigen Version enthalten waren Kumulatives Update. Schauen Sie sich die neuesten kumulativen Updates für SQL Server an:
Problemumgehung
Um dieses Problemzu umgehen, kann y ou die folgende Methode verwenden:
Verschieben Sie die innere Verknüpfungs Abfrage in eine separate Anweisung, und speichern Sie die Ergebnisse in einer temporären Tabelle. Führen Sie dann die Löschabfrage aus, die nach den Einträgen in der temporären Tabelle gefiltert wird. Darüber hinaus können Sie die Kostenschwelle für Parallelität erhöhen, um den Optimierer zum Serialisieren des Abfrageplans zu zwingen.
Beispiel:
Wählen Sie RefTable. Alias in #T aus DB. dbo. outerable Inner Join DB. dbo. RefTable auf RefTable. Alias = outerable. Alias aus.
Where outerable. Alias #a0 30006 und outerable. Alias #a1 30010
Löschen Sie aus DB. dbo. Tabelle Alias in (Select * from #T)
Informationsquellen
Informieren Sie sich über die Terminologie , die Microsoft verwendet zur Beschreibung von Softwareupdates.