Příznaky
Pokud je v plánu SQL povolené prokládané provádění a používá klauzuli OPTION (OPTIMIZE FOR), funkce TVF (Table-valued Function), která používá parametr předaný ve stejném příkazu SQL, poskytuje při prvním spuštění nesprávné výsledky.
Řešení
Tento problém je vyřešen v následující kumulativní aktualizaci pro SQL Server:
Kumulativní aktualizace 19 pro SQL Server 2019
Poznámka Tady je příklad, kdy po instalaci této kumulativní aktualizace nepoužíváte prokládané spuštění:
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
Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a opravy zabezpečení, které byly v předchozím buildu. Doporučujeme nainstalovat nejnovější build pro vaši verzi SQL Server:
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.
Odkazy
Seznamte se s terminologií, kterou Microsoft používá k popisu aktualizací softwaru.