KB5022920 - تصحيح: الدالة ذات القيمة الجدول التي تستخدم معلمة وعبارة OPTION (OPTIMIZE for) تعطي نتائج غير صحيحة عند التشغيل الأول

ينطبق على
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 الخاص بك:

آخر تحديث تراكمي ل SQL Server 2019

الحالة

لقد أكدت Microsoft على أن هذه مشكلة في منتجات Microsoft المُدرجة في القسم "ينطبق على".

المراجع

تعرّف على المصطلحات التي تستخدمها Microsoft لوصف تحديثات البرامج.