Symptomen
Neem als voorbeeld het volgende scenario:
- U hebt een zeer grote Filestream-tabel.
- U voert een verwijderquery uit van rijen in de Filestream-tabel, waarmee een duur queryplan wordt gemaakt, zoals een plan dat wordt gefilterd door een inner join met een andere grote tabel in het systeem.
- Het query-optimalisatieprogramma kiest een parallel uitvoeringsplan.
In dit scenario vindt er een bevestiging plaats en ontvangt u mogelijk foutberichten van de volgende strekking in het foutenlogboek van SQL Server:
DateTime spid SpidNumber Error: 5553, Severity: 20, State: 6.
DateTime spid SpidNumber Interne fout in SQL Server. FILESTREAM manager kan niet doorgaan met de huidige opdracht.
Status
Microsoft heeft bevestigd dat dit een probleem is bij de Microsoft-producten die worden vermeld in het gedeelte 'Van toepassing op'.
Oplossing
Het probleem is opgelost in de volgende cumulatieve updates voor SQL Server:
Over cumulatieve updates voor SQL Server:
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingspatches die deel uitmaakten van de vorige cumulatieve update. Bekijk de meest recente cumulatieve updates voor SQL Server:
Tijdelijke oplossing
U kunt dit probleem op de volgende manier omzeilen:
Verplaats de inner join-query naar een aparte instructie en sla de resultaten op in een tijdelijke tabel. Voer vervolgens de verwijderquery uit die wordt gefilterd op de items in de tijdelijke tabel. Bovendien kunt u de kostendrempel voor parallellisme verhogen om het optimalisatieprogramma te dwingen het queryplan te serialiseren.
Bijvoorbeeld:
SELECT RefTable.Alias INTO #T FROM DB.dbo.OuterTable INNER JOIN DB.dbo.RefTable ON RefTable.Alias = OuterTable.Alias
WHERE OuterTable.Alias > 30006 AND OuterTable.Alias < 30010
VERWIJDEREN UIT DB.dbo. [Tabel] WHERE Alias IN (SELECT * FROM #T)
Meer informatie
Meer informatie over de terminologie die Microsoft gebruikt om software-updates te beschrijven.