إصلاح: ظهور نتيجة غير صحيحة عند تشغيل استعلام يستخدم عامل التشغيل LIKE في SQL Server 2005

الأعراض

اطلع على السيناريو التالي. في Microsoft SQL Server 2005، يمكنك تشغيل استعلام يستخدم عامل التشغيل LIKE. خطة تنفيذ الاستعلام يستخدم الدالة جيترانجيثروغكونفيرت. عند تشغيل الاستعلام، قد تظهر نتيجة غير صحيحة. على سبيل المثال، قد يشبه خطة تنفيذ لهذا الاستعلام التالية.
|--Nested Loops(Inner Join, OUTER REFERENCES:([Expr1010], [Expr1011], |[Expr1012])) 
|--Merge Interval
| |--Concatenation
| |--Compute Scalar(DEFINE:(([Expr1005],[Expr1006],[Expr1004])=GetRangeThroughConvert(N'P08.89',NULL,(22))))
| | |--Constant Scan
| |--Compute Scalar(DEFINE:(([Expr1008],[Expr1009],[Expr1007])=GetRangeThroughConvert(NULL,N'P08.8?',(10))))
| |--Constant Scan
|--Index Seek(OBJECT:([TestLikeBug].[dbo].[Projects].[IX_Projects]),
SEEK:( [TestLikeBug].[dbo].[Projects].[ProjectNumber] > [Expr1010] AND
[TestLikeBug].[dbo].[Projects].[ProjectNumber] < [Expr1011]),
WHERE:(CONVERT_IMPLICIT(nvarchar(12),[TestLikeBug].[dbo].[Projects].[ProjectNumber],0) like N'P08.89%')
ORDERED FORWARD)

السبب

تحدث هذه المشكلة لأن SQL Server بإنشاء شرط نطاق غير صحيح لعامل التشغيل LIKE.

الحل

معلومات حزمة الخدمة

لحل هذه المشكلة، يجب الحصول على أحدث حزمة خدمة ل SQL Server 2005. لمزيد من المعلومات، انقر فوق رقم المقالة التالية لعرضها في "قاعدة معارف Microsoft":
كيفية الحصول على أحدث حزمة خدمة ل SQL Server 2005 913089

الحالة

أقرت Microsoft أن هذه مشكلة في منتجات Microsoft المسردة في قسم "تنطبق على". تم تصحيح هذه المشكلة أولاً في SQL Server 2005 Service Pack 3.

مزيد من المعلومات

لمزيد من المعلومات حول مصطلحات تحديث البرامج، انقر فوق رقم المقال التالي لعرضه في "قاعدة معارف Microsoft":
824684 وصف للمصطلحات القياسية المستخدمة في وصف تحديثات برامج Microsoft
خصائص

رقم الموضوع: 959019 - آخر مراجعة: 14‏/01‏/2017 - المراجعة: 1

تعليقات