Gäller 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)

Symptom

Tänk dig följande situation:

  • Du har en väldigt stor FILESTREAM-tabell.

  • Du kör en borttagnings fråga för rader i tabellen FILESTREAM som skapar ett dyrt frågeplan, till exempel ett som är filtrerat efter en inre koppling till en annan stor tabell i systemet.

  • Med Query Optimering väljs ett parallellt körnings abonnemang.

I det här scenariot inträffar enssertion och du kan få fel meddelanden som liknar följande i SQL Server-felloggen:

Datetime SPID SpidNumber -fel: 5553, allvarlighets grad: 20, State: 6.

Internt fel i datetime SPID SpidNumber SQL Server. FILESTREAM Manager kan inte fortsätta med aktuellt kommando.

Status

Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".

Lösning

Problemet är åtgärdat i följande kumulativa uppdateringar för SQL Server:

Om kumulativa uppdateringar för SQL Server:

Varje ny kumulativ uppdatering för SQL Server innehåller alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med föregående Kumulativ uppdatering. Kolla in de senaste kumulativa uppdateringarna för SQL Server:

Lösning

To i det här problemet kan y-ou använda följande metod:

Flytta den inre kopplings frågan till en separat instruktion och spara resultatet i en tillfällig tabell. Kör sedan borttagnings frågan som är filtrerad efter posterna i den tillfälliga tabellen. Dessutom kan du öka kostnads tröskeln för parallellitet för att tvinga optimeringen att serialisera frågeuttrycket.

Till exempel:

Välj RefTable. alias INTO #T från DB. dbo. OuterTable INNER JOIN DB. dbo. RefTable ON RefTable. Ali = OuterTable. alias

             DÄR OuterTable. alias > 30006 och OuterTable. alias < 30010 

TA bort från DB. dbo. Tabell DÄR alias (Välj * från #T)

Referenser

Lär dig mer om terminologin som Microsoft använder för att beskriva program varu uppdateringar.

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.