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.