Symptomen
Wanneer voor het SQL-plan interleaved-uitvoering is ingeschakeld en de COMPONENT OPTION (OPTIMIZE FOR) wordt gebruikt, geeft de functie tabelwaarde (TVF) die gebruikmaakt van een parameter die wordt doorgegeven in dezelfde SQL-instructie onjuiste resultaten bij de eerste uitvoering.
Oplossing
Dit probleem is opgelost in de volgende cumulatieve update voor SQL Server:
Cumulatieve update 19 voor SQL Server 2019
Opmerking Hier volgt een voorbeeld van het niet gebruiken van interleaved uitvoering nadat u deze cumulatieve update hebt geïnstalleerd:
DECLARE @start smalldatetime SELECT count(*) FROM dbo.GetData(@start) OPTION (OPTIMIZE FOR (@start = '2022-05-23T06:00:00')) CREATE FUNCTION [dbo].[GetData] ( @start datetime ) RETURNS TABLE AS RETURN SELECT t.id FROM dbo.TestTable t WHERE t.testdate >= @start GO CREATE TABLE [dbo].[TestTable]( [id] [int] IDENTITY(1,1) NOT NULL, [testdate] [datetime] NULL ) ON [PRIMARY] GO
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en beveiligingspatches uit de vorige build. U wordt aangeraden de meest recente build te installeren voor uw versie van SQL Server:
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
Verwijzingen
Meer informatie over de terminologie die Microsoft gebruikt om software-updates te beschrijven.