Застосовується до
SQL Server 2019 on Linux SQL Server 2019 on Windows

Ознаки

Якщо в плані SQL активовано міжзбережене виконання та використовується речення OPTION (OPTIMIZE FOR), функція TVF, яка використовує параметр, переданий в тій самій інструкції SQL, дає неправильні результати під час першого запуску.

Спосіб вирішення

Цю проблему вирішено в сукупному пакеті оновлень для SQL Server:

Сукупний пакет оновлень 19 для SQL Server 2019 р.

Примітка. Ось приклад того, що після інсталяції цього сукупного оновлення не використовується взаємозбережене виконання:

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

Кожен новий сукупний пакет оновлень для SQL Server містить усі виправлення та виправлення системи безпеки, які були в попередній збірці. Радимо інсталювати найновішу збірку для своєї версії SQL Server.

Останнє сукупне оновлення для SQL Server 2019 р.

Стан

Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "Стосується".

Посилання

Дізнайтеся про термінологію, яку корпорація Майкрософт використовує для опису оновлень програмного забезпечення.

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.