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

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

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

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

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

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

msg 2627 ، المستوى 14 حالة 1
انتهاك القيد PRIMARY KEY PrimaryKey. لا يمكن إدراج مفتاح مكرر في الكائن ' TableName '.

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

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

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

تم إصدار الإصلاح الخاص بهذه المشكلة أولاً في التحديث التراكمي 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). عندما تقوم بعرض معلومات الملف، يتم تحويلها إلى التوقيت المحلي. لمعرفة الفرق بين التوقيت العالمي (UTC) والتوقيت المحلي، استخدم علامة التبويب المنطقة الزمنية في عنصر التاريخ والوقت في "لوحة التحكم".
بالنسبة لكافة الإصدارات المستندة إلى x86 من مشغل قاعدة بيانات لـ SQL Server 2008 x
اسم الملفإصدار الملفحجم الملفتاريخالوقتالنظام الأساسي
Sqlaccess.dll2007.100.2712.0405,35213 مايو 200917: 53x 86
Keyfile.dll2007.100.2712.013,65613 مايو 200915: 37x 86
Sqlservr.exe2007.100.2712.042,729,32013 مايو 200917: 56x 86
بالنسبة لكافة الإصدارات المستندة إلى x86 من SQL Server 2008 Analysis Services x
اسم الملفإصدار الملفحجم الملفتاريخالوقتالنظام الأساسي
Msmdlocal.dll10.0.2712.023,461,72013 مايو 200916: 08x 86
Msmdsrv.exe10.0.2712.021,955,41613 مايو 200916: 09x 86
Keyfile.dll2007.100.2712.013,65613 مايو 200915: 37x 86
Msmdpump.dll10.0.2712.06,180,69613 مايو 200916: 08x 86
Msmdspdm.dll10.0.2712.0178,00813 مايو 200916: 08x 86
Msmgdsrv.dll10.0.2712.08,558,93613 مايو 200916: 09x 86
Msolap100.dll10.0.2712.06,532,95213 مايو 200916: 09x 86
بالنسبة لكافة الإصدارات المستندة إلى 64 من SQL Server 2008 قاعدة Engine x
اسم الملفإصدار الملفحجم الملفتاريخالوقتالنظام الأساسي
Sqlaccess.dll2007.100.2712.0412,008١٤ مايو 200901: 15x 86
Keyfile.dll2007.100.2712.014,18413 مايو 200911: 55x 64
Sqlservr.exe2007.100.2712.057,873,256١٤ مايو 200901: 17x 64
بالنسبة لكافة الإصدارات المستندة إلى 64 من SQL Server 2008 Analysis Services إلى x
اسم الملفإصدار الملفحجم الملفتاريخالوقتالنظام الأساسي
Msmdlocal.dll10.0.2712.023,461,72013 مايو 200916: 08x 86
Msmdlocal.dll10.0.2712.044,436,824١٤ مايو 200900: 10x 64
Msmdsrv.exe10.0.2712.043,713,368١٤ مايو 200900: 10x 64
Keyfile.dll2007.100.2712.014,18413 مايو 200911: 55x 64
Msmdpump.dll10.0.2712.07,430,488١٤ مايو 200900: 10x 64
Msmdspdm.dll10.0.2712.0178,024١٤ مايو 200900: 10x 86
Msmgdsrv.dll10.0.2712.08,558,93613 مايو 200916: 09x 86
Msmgdsrv.dll10.0.2712.012,332,376١٤ مايو 200900: 11x 64
Msolap100.dll10.0.2712.06,532,95213 مايو 200916: 09x 86
Msolap100.dll10.0.2712.08,153,944١٤ مايو 200900: 11x 64
بالنسبة لكافة الإصدارات المستندة إلى Itanium من SQL Server 2008 قاعدة Engine المعتمدة
اسم الملفإصدار الملفحجم الملفتاريخالوقتالنظام الأساسي
Sqlaccess.dll2007.100.2712.0398,69613 مايو 200917: 01x 86
Keyfile.dll2007.100.2712.019,30413 مايو 200915: 26IA-64
Sqlservr.exe2007.100.2712.0111,042,40813 مايو 200917: 08IA-64
بالنسبة لكافة الإصدارات المستندة إلى Itanium من SQL Server 2008 Analysis Services المعتمدة
اسم الملفإصدار الملفحجم الملفتاريخالوقتالنظام الأساسي
Msmdlocal.dll10.0.2712.023,461,72013 مايو 200916: 08x 86
Msmdlocal.dll10.0.2712.057,508,18413 مايو 200915: 44IA-64
Msmdsrv.exe10.0.2712.058,860,88813 مايو 200915: 46IA-64
Keyfile.dll2007.100.2712.019,30413 مايو 200915: 26IA-64
Msmdpump.dll10.0.2712.08,943,44813 مايو 200915: 45IA-64
Msmdspdm.dll10.0.2712.0178,00813 مايو 200915: 45x 86
Msmgdsrv.dll10.0.2712.015,485,80013 مايو 2009٠٣: ٤٧IA-64
Msmgdsrv.dll10.0.2712.08,558,93613 مايو 200916: 09x 86
Msolap100.dll10.0.2712.010,065,24013 مايو 2009٠٣: ٤٧IA-64
Msolap100.dll10.0.2712.06,532,95213 مايو 200916: 09x 86
الحل البديل
كمحاولة للتغلب على هذه المشكلة قم بتعيين الخيار MAXDOP أو تلميح الاستعلام MAXDOP إلى 1 في العبارة أو مستوى الملقم.

ملاحظة مستوى الملقم الخيار MAXDOP يؤثر على أداء كافة الاستعلامات التي تعمل على الملقم.
تصريح
أقرت Microsoft أن هذه مشكلة في منتجات Microsoft المسردة في قسم "تنطبق على".
مراجع
لمزيد من المعلومات حول "نموذج تقديم تزايدي" لـ SQL Server انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف لـ Microsoft:
935897يتوفر "نموذج تقديم تزايدي" من فريق SQL Server لتسليم الإصلاحات العاجلة لمشكلات تم الإبلاغ عنها


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


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

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

خصائص

رقم الموضوع: 970507 - آخر مراجعة: 07/24/2009 07:53:31 - المراجعة: 2.0

Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Workgroup

  • kbmt kbsurveynew kbfix kbqfe kbexpertiseadvanced kbhotfixserver KB970507 KbMtar
تعليقات
&t=">/html>�باط" class="ctl_footerNavLink" data-bi-name="Footer_Privacy&cookies" data-bi-slot="2"> الخصوصية وملفات تعريف الارتباط
  • العلامات التجارية
  • © 2016 Microsoft
  • 0&did=1&t=">p;did=1&t=">id=1&t=">