Simptome
Atunci când planul SQL are activată executarea interleaved și utilizează clauza OPTION (OPTIMIZE FOR), funcția cu valoare de tabel (TVF) care utilizează un parametru transmis în aceeași instrucțiune SQL oferă rezultate incorecte la prima rulare.
Rezolvare
Această problemă este remediată în următoarea actualizare cumulativă pentru SQL Server:
Actualizarea cumulativă 19 pentru SQL Server 2019
Notă Iată un exemplu de neutilizare a execuției interlealvate după ce instalați această actualizare cumulativă:
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
Fiecare actualizare cumulativă nouă pentru SQL Server conține toate remedierile rapide și remedierile de securitate care au fost în versiunea anterioară. Vă recomandăm să instalați cea mai recentă versiune pentru versiunea dvs. de SQL Server:
Cea mai recentă actualizare cumulativă pentru SQL Server 2019
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.
Referințe
Aflați despre terminologia pe care o utilizează Microsoft pentru a descrie actualizările de software.