FIX: قد تظهر رسالة خطأ خرق وصول عند تشغيل خطة تنفيذ متوازي في SQL Server 2005

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

912885
تمت أرشفة هذه المقالة. وتظهر "كما هي" ولن يتم تحديثها بعد الآن.
الخطأ رقم: 420246 (SQLBUDT)
Microsoft بتوزيع الإصلاحات Microsoft SQL Server 2005 كملف واحد القابلة للتحميل. لأن الإصلاحات تراكمية، يتضمن كل إصدار جديد كافة الإصلاحات العاجلة وأصلح كافة تصحيحات الأمان التي تم تضمينها مع SQL Server 2005 السابقة الإصدار.
الموجز
توضح هذه المقالة التالية حول هذا الإصدار على الإصلاح العاجل:
  • المشكلات التي يتم إصلاحها من خلال حزمة الإصلاحات الجديدة
  • المتطلبات المسبقة لتثبيت حزمة الإصلاحات الجديدة
  • ما إذا كان يجب إعادة تشغيل الكمبيوتر بعد تثبيت حزمة الإصلاحات الجديدة
  • ما إذا كان يتم استبدال حزمة الإصلاحات الجديدة بواسطة حزمة الإصلاحات الجديدة الأخرى
  • ما إذا كان يجب إجراء أية تغييرات التسجيل
  • الملفات المضمنة في حزمة الإصلاحات الجديدة
الأعراض
في Microsoft SQL Server 2005 قد تظهر رسالة خطأ خرق وصول عند الشروط التالية:
  • إنشاء فهرس يستخدم الخيار IGNORE_DUP_KEY لجدول.
  • تشغيل عبارة INSERT إدراج صف جديد في هذا الفهرس.
  • خطة عبارة INSERT متوازي.
  • يتم توفير قيمة أحد أعمدة المفاتيح الخيار IGNORE_DUP_KEY باستخدام معلمة.
بالإضافة إلى ذلك، قد تظهر رسالة خطأ مشابهة للرسالة التالية:
حدث خطأ في ملقم في الأمر الحالي. النتائج ، إن وجدت، يجب أن يتم تجاهل.
الحل

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

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

في حالة تحميل الإصلاح العاجل يوجد قسم "توفر تنزيل الإصلاح عاجل" أعلى مقالة قاعدة المعارف رقم هذا. إذا لم يظهر هذا المقطع اتصل Microsoft خدمة العملاء والدعم للحصول على الإصلاح العاجل.

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

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

لا توجد أية متطلبات أساسية هذا الإصلاح العاجل.

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

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

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

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

معلومات الملف

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

يحتوي إصدار اللغة الإنجليزية من هذا الإصلاح العاجل سمات الملف (أو أحدث منها) المسردة في الجدول التالي. يتم سرد التواريخ والأوقات الخاصة بهذه الملفات في "حسب التوقيت العالمي" (UTC). عندما تقوم بعرض معلومات الملف، يتم تحويلها إلى التوقيت المحلي. لمعرفة الفرق بين التوقيت العالمي (UTC) والتوقيت المحلي، استخدم علامة التبويب المنطقة الزمنية في عنصر التاريخ والوقت في "لوحة التحكم".
SQL Server 2005 لـ x 86-based أنظمة
اسم الملفإصدار الملفحجم الملفتاريخالوقتالنظام الأساسي
Msvcp80.dll8.0.50727.42548,864١٤ أكتوبر ٢٠٠٥٦: 26x 86
Msvcr80.dll8.0.50727.42626,688١٤ أكتوبر ٢٠٠٥٦: 26x 86
Sqldiscoveryapi.dll2005.90.1518.0527,06421 يناير ٢٠٠٦00: 11x 86
SQL Server 2005 x 64 إصدار
اسم الملفإصدار الملفحجم الملفتاريخالوقتالنظام الأساسي
Msvcp80.dll8.0.50727.421,097,728١٤ أكتوبر ٢٠٠٥18: 46x 64
Msvcr80.dll8.0.50727.42822,784١٤ أكتوبر ٢٠٠٥18: 46x 64
Sqldiscoveryapi.dll2005.90.1518.0745,68821 يناير ٢٠٠٦04: 14x 64
SQL Server 2005 للأنظمة المستندة إلى Itanium
اسم الملفإصدار الملفحجم الملفتاريخالوقتالنظام الأساسي
Msvcp80.dll8.0.50727.421,385,472١٤ أكتوبر ٢٠٠٥18: 35IA-64
Msvcr80.dll8.0.50727.421,484,800١٤ أكتوبر ٢٠٠٥18: 35IA-64
Sqldiscoveryapi.dll2005.90.1518.01,924,31221 يناير ٢٠٠٦03: 30IA-64
الحل البديل
كمحاولة للتغلب على هذه المشكلة اتبع الخطوات التالية:
  1. تحديد عبارة INSERT مشكلات تؤدي إلى انتهاك الوصول.
  2. فرض للمحسن الاستعلام لإنشاء خطة تسلسلي عبارة INSERT مشكوك. لذلك، يمكن تنفيذ العبارة على مؤشر ترابط واحد.
ملاحظة فإذا لم يمكنك تحديد عبارة INSERT مشكلات تؤدي إلى خرق الوصول "، يمكنك استخدام الطريقة الموضحة في" الطريقة الثالثة "كمحاولة للتغلب على هذه المشكلة.

لتحديد عبارة INSERT مشكلات تؤدي إلى خرق وصول اتبع الخطوات التالية:
  1. في ملف سجل الخطأ "ملقم SQL" ، حدد موقع ظهور رسالة خطأ انتهاك وصول.
  2. بالقرب من أعلى رسالة خطأ خرق وصول موقع معلومات مخزن الإدخال المؤقت.
  3. تحديد موقع معلومات الدفعي الذي يتبع معلومات مخزن الإدخال المؤقت.

    ملاحظة تتضمن الدُفعة عبارة INSERT مشكلات تؤدي إلى انتهاك الوصول.
  4. إذا احتوى الدُفعة على عبارة INSERT واحد فقط, هي بيان هذا عبارة INSERT مشكوك تماماً. إذا احتوى الدُفعة على عبارات INSERT متعددة, تنفيذ عمليات اتبع لتحديد عبارة INSERT مشكوك:
    1. في SQL Server منشئ ملفات التعريف ، إنشاء تتبع مقابل مثيل SQL Server 2005.
    2. في الفئة أحداث الأخطاء والتحذيرات حدد فئة الحدث لفت فئة الحدث استثناء.

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

      إذا الدُفعة يحتوي على عبارات SQL للعمليات فقط حدد فئات الأحداث الإضافية التالية ضمن فئة الحدث TSQL:
      • SQL:BatchStarting
      • SQL:BatchCompleted
      • SQL:StmtStarting
      • SQL:StmtCompleted
      إذا الدُفعة يحتوي على إجراء مخزن حدوث خرق وصول حدد فئات الأحداث الإضافية التالية ضمن فئة الحدث إجراءات مخزنة:
      • SP: بدء
      • SP: اكتمل
      • SP:StmtStarting
      • SP:StmtCompleted
    3. تشغيل الدفعي نفس من تطبيق العميل.

      اتبع هذه الخطوة إعادة إنشاء انتهاك الوصول. ثم يمكنك تحديد عبارة INSERT مشكوك. عند تشغيل الدُفعة تأكد من تشغيل التتبع.

      إذا لم يكن تطبيق عميل SQL Server إدارة Studio قد تقوم بتشغيل الدفعي نفس يدوياً في Studio إدارة ملقم SQL. ومع ذلك، قد لا تحصل نفس تخطيط تنفيذ خطة التنفيذ الأصلي الذي يسبب المشكلة. يحدث هذا السلوك إذا SQL Server 2005 recompiles عبارة INSERT مشكوك في الدُفعة باستخدام خطة تنفيذ مختلفة أو من خلال استخدام معلمات مختلفة.
    4. إيقاف التتبع ومن ثم تحليل نتائج التتبع لتحديد عبارة INSERT مشكوك. لتحديد عبارة INSERT مشكوك تحديد SPID الذي يواجه خرق وصول و الذي يقطع اتصال تطبيق العميل. ثم، ضمن SPID ، لاحظ عبارة INSERT الذي يلبي المتطلبات التالية:
      • يتم بدء تشغيل العبارة INSERT.
      • لم يتم إكمال العبارة INSERT نفس.
لفرض للمحسن الاستعلام لإنشاء خطة تسلسلي عبارة INSERT مشكوك استخدم إحدى الطرق التالية.

الطريقة الأولى

ملاحظة استخدم هذه الطريقة إذا كان يمكنك الوصول إلى عبارة INSERT مشكوك.

إضافة تعبير OPTION (MAXDOP 1) إلى حدوث عبارة INSERT. التالية مثال عن جملة INSERT الجديدة.
INSERT INTO MyTable (Col1, Col2)SELECT Col1, Col2 FROM OtherTableOPTION (MAXDOP 1) 
لمزيد من المعلومات حول تلميح الاستعلام MAXDOP راجع المقطع "MAXDOP استخدام" على موقع شبكة مطوري Microsoft (MSDN) التالي على الويب:

الطريقة الثانية

ملاحظة استخدم هذا الأسلوب إذا لم تتمكن من الوصول عبارة INSERT مشكوك. على سبيل المثال، عبارة INSERT مشكوك من تطبيق عميل. ومع ذلك، لا يمكن إعادة تكوين تطبيق العميل أو لا يمكن إعادة ترجمة تطبيق العميل لإضافة التعبير OPTION (MAXDOP 1). أو في جملة INSERT مشكوك في إجراء مخزن. ومع ذلك، يتم تشفير الإجراء المخزن. لا يمكنك تغيير العبارات في الإجراء المخزن.

استخدم الإجراء sp_create_plan_guide تخزين مقابل عبارة INSERT مشكوك. من خلال القيام بذلك، فرض التعبير OPTION (MAXDOP 1) في عبارة INSERT مشكوك. المثال التالي مثال عن كيفية استخدام الإجراء sp_create_plan_guide تخزين.
sp_create_plan_guide @name = N'planguide_for_MyFailingProc', -- Arbitrary name@stmt = N'INSERT INTO MyOneFailingStatementTable VALUES (@a,@b,@c)', -- The problematic INSERT statement@type = N'OBJECT', @module_or_batch = N'dbo.MyFailingProc', -- The name of the stored procedure that contains the problematic INSERT statement@params = NULL, @hints = N'OPTION (MAXDOP 1)'-- Query hint to prevent parallelism
لمزيد من المعلومات حول الإجراء sp_create_plan_guide تخزين قم بزيارة موقع MSDN التالي:

الطريقة الثالثة

ملاحظة استخدم هذا الأسلوب إذا تحقق أحد الشروط التالية:
  • إنشاء عبارة INSERT مشكوك بشكل ديناميكي.
  • لا يمكن تحديد عبارة INSERT تؤدي إلى انتهاك الوصول.
هام يتيح هذا الأسلوب كافة الاستعلامات على مثيل SQL Server 2005 لتشغيل على مؤشر ترابط واحد. نقترح لا استخدم هذا الأسلوب. قد يؤدي هذا الأسلوب إلى حدوث مشكلات الأداء على استعلامات الأخرى التي تعمل على المثيل.

تشغيل عبارات SQL للعمليات التالية.
sp_configure 'show advanced options', 1;GORECONFIGURE WITH OVERRIDE;GOsp_configure 'max degree of parallelism', 1;GORECONFIGURE WITH OVERRIDE;GO
للحصول على مزيد من المعلومات حول خيار أقصى درجة parallelism قم بزيارة موقع MSDN التالي:
تصريح
أقرت Microsoft أن هذه مشكلة في منتجات Microsoft المسردة في قسم "تنطبق على".
معلومات أخرى
لمزيد من المعلومات حول مخطط التسمية لتحديثات SQL Server "، انقر فوق رقم المقالة التالي لعرضها في" قاعدة المعارف لـ Microsoft:
822499مخطط تسمية جديدة حزم تحديثات برامج Microsoft SQL Server
لمزيد من المعلومات حول مصطلحات تحديث البرامج "، انقر فوق رقم المقالة التالي لعرضها في" قاعدة المعارف لـ Microsoft:
824684وصف للمصطلحات القياسية المستخدمة في وصف تحديثات برامج Microsoft

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

خصائص

رقم الموضوع: 912885 - آخر مراجعة: 01/17/2015 12:57:57 - المراجعة: 3.5

  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium-based Systems Community Technology Preview
  • kbnosurvey kbarchive kbmt kbautohotfix kbsql2005engine kbsql2005presp1fix kbhotfixserver kbfix kbbug kbsqlserv2005fix kbqfe kbpubtypekc KB912885 KbMtar
تعليقات