الأعراض
عندما يتم تمكين التنفيذ المتداخل لخطة SQL وتستخدم عبارة OPTION (OPTIMIZE FOR)، فإن الدالة ذات القيمة الجدولية (TVF) التي تستخدم معلمة تم تمريرها في نفس عبارة SQL تعطي نتائج غير صحيحة في التشغيل الأول.
الحل
تم إصلاح هذه المشكلة في التحديث التراكمي التالي SQL Server:
التحديث التراكمي 19 SQL Server 2019
ملاحظة يتم إصدار Acrobat Reader من قِبل شركة Adobe Systems Inc.. فيما يلي مثال على عدم استخدام التنفيذ المتداخل بعد تثبيت هذا التحديث التراكمي:
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:
الحالة
أقرت Microsoft أن هذه المشكلة تحدث في منتجات Microsoft المسردة في المقطع "تنطبق على".
المراجع
تعرف على المصطلحات التي تستخدمها Microsoft لوصف تحديثات البرامج.