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.