أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

FIX: نتائج غير صحيحة عند تشغيل استعلام "الانضمام الكامل" الذي يستخدم جملة "عبر تطبيق" في SQL Server 2008 R2 أو في SQL Server 2012

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

2800797
تقوم Microsoft بتوزيع تصحيحات Microsoft SQL Server 2008 R2 الخدمة Pack 2 (SP2) كملف واحد للتحميل. لأن الإصلاحات التراكمي، كل إصدار جديد يحتوي على كافة الإصلاحات العاجلة وإصدار تصحيح كافة تصحيحات الأمان التي تم تضمينها مع السابقة SQL Server 2008 R2 Service Pack 2.
الأعراض
قد تتلقى نتائج غير صحيحة عند تشغيل استعلام في Microsoft SQL Server 2008 R2 حزمة الخدمة SP2 أو في Microsoft SQL Server عام 2012 عندما تكون الشروط التالية صحيحاً:
  • يستخدم الاستعلام شرط عبر تطبيق أكثر نتيجة لشرط الانضمام الكامل .
  • وترد بيانات الجدول بواسطة استدعاء دالة معرفة من قبل المستخدم قيم الجدول في جملة JOIN كاملة .
  • الدالة يقبل اسم عمود كمعلمة، وإرجاع النتائج كجدول.
على سبيل المثال، يمكنك تشغيل استعلام مشابهة لما يلي:
SELECT * FROM tablename CROSS APPLY (    SELECT * FROM        (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'New') s1     FULL JOIN         (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'Old') s2     ON s1.nodeName = s2.nodeName    ) s 
ملاحظة لا تحدث هذه المشكلة في Microsoft SQL Server عام 2012.
الحل

معلومات التحديث التراكمي

التحديث التراكمي 7 ل SQL Server 2012

صدر إصدار الإصلاح الخاص بهذه المشكلة لأول مرة في 7 التحديث التراكمي. لمزيد من المعلومات حول كيفية الحصول على حزمة التحديث التراكمي هذه ل SQL Server 2012، انقر فوق رقم المقالة التالي لعرض المقالة في قاعدة معارف Microsoft:
2823247 حزمة التحديث التراكمي 7 ل SQL Server 2012
ملاحظة لأن البنيات تراكمية، يحتوي كل إصدار إصلاح جديد على كافة الإصلاحات العاجلة وإصدار تصحيح كافة تصحيحات الأمان التي تم تضمينها مع السابقة SQL Server 2012. ونحن ننصح بالتفكير تطبيق أحدث إصدار الإصلاح الذي يحتوي على هذا الإصلاح العاجل. للحصول على مزيد من المعلومات، انقر فوق رقم المقالة التالي لعرض المقالة في قاعدة معارف Microsoft:
2692828 يبني 2012 ملقم SQL التي تم إصدارها بعد إصدار SQL Server 2012

التحديث التراكمي 3 ل SQL Server 2012 SP1

أطلق سراح الإصلاح الخاص بهذه المشكلة أولاً في التحديث التراكمي 3. لمزيد من المعلومات حول كيفية الحصول على حزمة التحديث التراكمي هذه ل SQL Server 2012 حزمة الخدمة SP1، انقر فوق رقم المقالة التالي لعرض المقالة في قاعدة معارف Microsoft:
2812412 حزمة التحديث التراكمي 3 ل SQL Server 2012 Service Pack 1
ملاحظة لأن البنيات تراكمية، يحتوي كل إصدار إصلاح جديد على كافة الإصلاحات العاجلة وإصدار تصحيح كافة تصحيحات الأمان التي تم تضمينها مع السابقة SQL Server 2012 SP1. ونحن ننصح بالتفكير تطبيق أحدث إصدار الإصلاح الذي يحتوي على هذا الإصلاح العاجل. للحصول على مزيد من المعلومات، انقر فوق رقم المقالة التالي لعرض المقالة في قاعدة معارف Microsoft:
2772858 يبني 2012 ملقم SQL التي تم إصدارها بعد إصدار SQL Server 2012 خدمة حزمة 1

التحديث التراكمي 5 ل SQL Server 2008 R2 حزمة الخدمة SP2

أطلق سراح الإصلاح الخاص بهذه المشكلة أولاً في 5 التحديث التراكمي. لمزيد من المعلومات حول كيفية الحصول على حزمة التحديث التراكمي هذه ل SQL Server 2008 R2 SP 2، انقر فوق رقم المقالة التالي لعرض المقالة في قاعدة معارف Microsoft:
2797460 حزمة التحديث التراكمي 5 ل SQL Server 2008 R2 Service Pack 2
ملاحظة لأن البنيات تراكمية، يحتوي كل إصدار إصلاح جديد على كافة الإصلاحات العاجلة وإصدار تصحيح كافة تصحيحات الأمان التي تم تضمينها مع السابق SQL Server 2008 R2 2 ليرة سورية. ونحن ننصح بالتفكير تطبيق أحدث إصدار الإصلاح الذي يحتوي على هذا الإصلاح العاجل. للحصول على مزيد من المعلومات، انقر فوق رقم المقالة التالي لعرض المقالة في قاعدة معارف Microsoft:
2730301 يبني R2 2008 ملقم SQL التي تم إصدارها بعد إصدار SQL Server 2008 R2 الخدمة Pack 2
تصريح
تم تأكيد Microsoft أن هذه هي مشكلة في منتجات Microsoft المسردة في قسم "تنطبق على".
الحل البديل
للتغلب على هذه المشكلة، استخدم جملة JOIN دمج كامل بدلاً من شرط الانضمام الكامل .

على سبيل المثال، يمكنك تغيير الاستعلام التي يتم المذكورة في قسم "الأعراض" لأن الاستعلام مشابهة لما يلي:
SELECT * FROM tablename CROSS APPLY (    SELECT * FROM        (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'New') s1     FULL MERGE JOIN         (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'Old') s2     ON s1.nodeName = s2.nodeName    ) s
معلومات أخرى
لمزيد من المعلومات حول كيفية استخدام جملة عبر تطبيق ، انتقل إلى موقع ويب Microsoft TechNet التالية:

تحذير: تمت ترجمة هذا المقال تلقائياً

خصائص

رقم الموضوع: 2800797 - آخر مراجعة: 04/15/2013 08:54:00 - المراجعة: 3.0

  • Microsoft SQL Server 2008 R2 Service Pack 2
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • SQL Server 2012 Enterprise Core
  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2800797 KbMtar
تعليقات
cript> tForLargeScreens track by $index -->