Gilt für
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) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

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.

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.