تصحيح: رسالة خطأ في SQL Server 2008 عند تشغيل عبارة SELECT إدراج جدول: "انتهاك القيد PRIMARY KEY' < مفتاح أساسي > '. لا يمكن إدراج مفتاح مكرر في كائن '< اسم جدول >' "

تقوم Microsoft بتوزيع الإصلاحات Microsoft SQL Server 2008 كأحد الملفات القابلة للتنزيل. لأن الإصلاحات التراكمي، كل إصدار جديد يحتوي على كافة الإصلاحات العاجلة وإصدار تصحيح كافة تصحيحات الأمان التي تم تضمينها مع SQL Server 2008 السابقة.

الأعراض

يرجى مراعاة السيناريو التالي:
  • لديك Microsoft SQL Server 2008 مثبتاً على جهاز كمبيوتر متعدد المعالجات.
  • تحتوي عبارة SELECT إدراج في جدول يحتوي على مفتاح أساسي.

    ملاحظة: في القائمة إدراج تحديد الجدول الذي يتلقى البيانات هو نفس الجدول إخراج البيانات. على سبيل المثال:
    INSERT T1 … SELECT T1
  • تشير الجداول الأخرى في هذا البيان حدد إدراج . هذه المراجع تتضمن جدول مؤقت.

    ملاحظة: الجداول التي يتم الرجوع إليها في جملة from أو الجداول التي يتم الرجوع إليها في شرط صلة أو الاستعلام الفرعي.
عندما تقوم بتشغيل، تتلقى رسالة الخطأ التالية:

حالة 2627، 14 مستوى جي إس 1

انتهاك القيد PRIMARY KEY "مفتاح أساسي". لا يمكن إدراج مفتاح مكرر في الكائن 'اسم جدول'.

إذا قمت خطة تنفيذ، تجد تشغيل عامل الانضمام ومشغل التخزين حريصة في نفس الوقت. ويجري هذا العامل التخزين حريصة عامل الانضمام . بالإضافة إلى ذلك، الجدول الذي يتلقى البيانات في العبارة هو جدول الربط الداخلي.

ملاحظة: تحدث هذه المشكلة أيضا عند تشغيل عبارة SELECT التحديث أو حدد حذف العبارة.

السبب

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

الحل

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


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

معلومات الإصلاح العاجل

الآن يتوفر إصلاح عاجل معتمد من Microsoft. ومع ذلك، الغرض منه هو حل المشكلة الموضحة في هذه المقالة فقط. تطبيقها فقط على الأنظمة التي تواجه هذه المشكلة بالتحديد. قد يتم إجراء اختبارات إضافية على هذا الإصلاح العاجل. لذلك، إذا لم يكن تأثير المشكلة كبيرا، نوصي بالانتظار حتى حزمة خدمة SQL Server 2008 التالي الذي يحتوي على هذا الإصلاح العاجل.

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

المتطلبات الأساسية

لتطبيق هذا الإصلاح العاجل، يجب أن يكون لديك جهاز كمبيوتر يقوم بتشغيل SQL Server 2008 Service Pack 1 (SP1).

معلومات إعادة التشغيل

ليس من الضروري إعادة تشغيل جهاز الكمبيوتر بعد تطبيق هذا الإصلاح العاجل.

معلومات التسجيل

ليس لديك لتغيير التسجيل.

معلومات ملف الإصلاح العاجل

يحتوي هذا الإصلاح العاجل على الملفات المطلوبة لتصحيح المشكلات التي تسرد هذه المقالة فقط. قد لا يحتوي هذا الإصلاح العاجل على كافة الملفات التي يجب أن يكون لديك لتحديث منتج لأحدث بنية بشكل كامل.

يحتوي إصدار اللغة الإنجليزية من هذا الإصلاح العاجل على سمات الملف (أو سمات الملف الأحدث) المسرودة في الجدول التالي. يتم سرد التواريخ والأوقات الخاصة بهذه الملفات بالتوقيت العالمي المتفق عليه (UTC). عند عرض معلومات الملف، يتم تحويلها إلى التوقيت المحلي. لمعرفة الفرق بين التوقيت العالمي المتفق عليه والتوقيت المحلي، استخدم علامة التبويب المنطقة الزمنية في عنصر التاريخ والوقت في "لوحة التحكم".
لكافة الإصدارات المستندة إلى x86 من مشغل قاعدة البيانات ل SQL Server 2008
اسم الملفإصدار الملفحجم الملفالتاريخالوقتالنظام الأساسي
Sqlaccess.dll2007.100.2712.0405,35213-May-200917:53x86
Keyfile.dll2007.100.2712.01365613-May-200915:37x86
Sqlservr.exe2007.100.2712.042,729,32013-May-200917:56x86
لكافة الإصدارات المستندة إلى x86 من خدمات تحليل SQL Server 2008
اسم الملفإصدار الملفحجم الملفالتاريخالوقتالنظام الأساسي
Msmdlocal.dll10.0.2712.023,461,72013-May-200916:08x86
Msmdsrv.exe10.0.2712.021,955,41613-May-200916:09x86
Keyfile.dll2007.100.2712.01365613-May-200915:37x86
Msmdpump.dll10.0.2712.06,180,69613-May-200916:08x86
Msmdspdm.dll10.0.2712.0178,00813-May-200916:08x86
Msmgdsrv.dll10.0.2712.08,558,93613-May-200916:09x86
Msolap100.dll10.0.2712.06,532,95213-May-200916:09x86
لكافة الإصدارات المستندة إلى x64 من مشغل قاعدة البيانات ل SQL Server 2008
اسم الملفإصدار الملفحجم الملفالتاريخالوقتالنظام الأساسي
Sqlaccess.dll2007.100.2712.0412,00814-May-200901:15x86
Keyfile.dll2007.100.2712.014,18413-May-200923:55x64
Sqlservr.exe2007.100.2712.057,873,25614-May-200901:17x64
بالنسبة لكافة الإصدارات المستندة إلى x64 من SQL Server 2008 Analysis Services المعتمدة
اسم الملفإصدار الملفحجم الملفالتاريخالوقتالنظام الأساسي
Msmdlocal.dll10.0.2712.023,461,72013-May-200916:08x86
Msmdlocal.dll10.0.2712.044,436,82414-May-200900:10x64
Msmdsrv.exe10.0.2712.043,713,36814-May-200900:10x64
Keyfile.dll2007.100.2712.014,18413-May-200923:55x64
Msmdpump.dll10.0.2712.07,430,48814-May-200900:10x64
Msmdspdm.dll10.0.2712.0178,02414-May-200900:10x86
Msmgdsrv.dll10.0.2712.08,558,93613-May-200916:09x86
Msmgdsrv.dll10.0.2712.012,332,37614-May-200900:11x64
Msolap100.dll10.0.2712.06,532,95213-May-200916:09x86
Msolap100.dll10.0.2712.08,153,94414-May-200900:11x64
لكافة الإصدارات المستندة إلى إيتانيوم من مشغل قاعدة البيانات ل SQL Server 2008
اسم الملفإصدار الملفحجم الملفالتاريخالوقتالنظام الأساسي
Sqlaccess.dll2007.100.2712.0398,69613-May-200917:01x86
Keyfile.dll2007.100.2712.019,30413-May-200915:26IA-64
Sqlservr.exe2007.100.2712.0111,042,40813-May-200917:08IA-64
بالنسبة لكافة الإصدارات المستندة إلى Itanium من SQL Server 2008 Analysis Services المعتمدة
اسم الملفإصدار الملفحجم الملفالتاريخالوقتالنظام الأساسي
Msmdlocal.dll10.0.2712.023,461,72013-May-200916:08x86
Msmdlocal.dll10.0.2712.057,508,18413-May-200915:44IA-64
Msmdsrv.exe10.0.2712.058,860,88813-May-200915:46IA-64
Keyfile.dll2007.100.2712.019,30413-May-200915:26IA-64
Msmdpump.dll10.0.2712.08,943,44813-May-200915:45IA-64
Msmdspdm.dll10.0.2712.0178,00813-May-200915:45x86
Msmgdsrv.dll10.0.2712.015,485,80013-May-200915:47IA-64
Msmgdsrv.dll10.0.2712.08,558,93613-May-200916:09x86
Msolap100.dll10.0.2712.010,065,24013-May-200915:47IA-64
Msolap100.dll10.0.2712.06,532,95213-May-200916:09x86

الحل البديل

للتغلب على هذه المشكلة، تعيين تلميح الاستعلام MAXDOP أو الخيار MAXDOP إلى 1 في العبارة أو مستوى الخادم.

ملاحظة: يؤثر مستوى الخادم الخيار MAXDOP على أداء الاستعلامات التي يتم تشغيلها على الخادم.

الحالة

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

المراجع

لمزيد من المعلومات حول "نموذج تقديم تزايدي" ل SQL Server، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":

935897 "نموذج تقديم تزايدي" يتوفر من فريق SQL Server لتسليم الإصلاحات العاجلة للمشاكل التي تم الإبلاغ عنها



لمزيد من المعلومات حول مخطط التسمية لتحديثات SQL Server، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":

822499 مخطط تسمية جديد لحزم تحديثات برامج Microsoft SQL Server


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

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

تعليقات