الأعراض
عند تمكين التنفيذ المتداخل في خطة 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 لوصف تحديثات البرامج.