إصلاح: فشل اتصال قد يتم الإعلام حتى إذا كان ملقم قاعدة البيانات المتوفرة فعلياً عند محاولة الاتصال بقاعدة بيانات باستخدام الكائن SqlConnection في ADO.NET 2.0


الأعراض


عند محاولة الاتصال بقاعدة بيانات باستخدام الكائن SqlConnection في Microsoft ADO.NET 2.0، قد تكون عن انقطاع اتصال حتى إذا كان خادم قاعدة البيانات متاحة بالفعل. أبرز هذه المشكلة إذا تحققت الحالتين التاليتين:
  • تم ملقم قاعدة البيانات غير متوفرة لمدة دقيقة على الأقل.
  • حاولت تطبيق العميل للاتصال بخادم قاعدة البيانات خلال تلك الفترة.

السبب


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

الحل


لحل هذه المشكلة، بتنزيل الملف المناسب للكمبيوتر الخاص بك:

لجهاز كمبيوتر يستند إلى x86

الملف التالي متوفر للتنزيل من "مركز تحميل microsoft":http://download.microsoft.com/download/2/C/5/2C5BCDC9-3241-443A-9F96-4E0B0EDFA727/NDP20-KB916002-X86.exe

لجهاز كمبيوتر يستند إلى x64

الملف التالي متوفر للتنزيل من "مركز تحميل microsoft":http://download.microsoft.com/download/D/3/9/D39C79DF-4158-45DF-9031-92C52AB0ED19/NDP20-KB916002-X64.exe

لجهاز كمبيوتر يستند إلى Itanium

الملف التالي متوفر للتنزيل من "مركز تحميل microsoft": http://download.microsoft.com/download/0/0/3/00392DD3-5B4F-4D99-94E8-6827B8F8D7EF/NDP20-KB916002-IA64.exe لمزيد من المعلومات حول كيفية تنزيل ملفات دعم Microsoft، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
119591 كيفية الحصول على ملفات دعم Microsoft من الخدمات عبر الإنترنت
قامت Microsoft بفحص هذا الملف بحثًا عن الفيروسات. استخدمت Microsoft أحدث برامج الكشف عن الفيروسات التي كانت متوفرة في التاريخ الذي تم نشر الملف فيه. يتم تخزين الملف على خوادم محسنة الأمان تساعد على منع إجراء أية تغييرات غير مصرح بها على الملف.

الحل البديل


للتغلب على هذه المشكلة، استخدم أساليب الكائن SqlConnectionكليربول أو كليرالبولس لإعادة تعيين تجمع الاتصال.

الحالة


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

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


بعد تطبيق هذا الإصلاح العاجل، لا يزال قد يحدث تأخير صغيرة قبل أن يمكن تطبيق العميل بنجاح الاتصال بخادم قاعدة البيانات عند استرداد ملقم قاعدة البيانات من انقطاع الكهرباء. بشكل عام، هذا التأخير ينبغي إلا تستغرق أكثر من 60 ثانية, بغض النظر عن كم SQL Server قد سبق غير متوفرة. للحصول على مزيد من المعلومات، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
824684 وصف للمصطلحات القياسية المستخدمة لوصف تحديثات برامج Microsoft
لمزيد من المعلومات حول فئة SqlConnection ، قم بزيارة موقع شبكة مطوري Microsoft (MSDN) التالي على الويب:يتم تضمين هذا الإصلاح العاجل في حزمة الإصلاحات الجديدة نفس الإصلاح في مقالة "قاعدة معارف Microsoft" التالية:
إصلاح 912151 : الاتصال قد تنقضي مهلة قبل المحاولة الأولى للاتصال بملقم طرف تجاوز فشل عند محاولة الاتصال بقاعدة بيانات SQL Server 2005 التي لها نسخ متطابقة باستخدام أحد تطبيقات المستندة إلى ADO.NET 2.0
إصلاح 912731 : اتصال ADO.NET عند تطبيق يستخدم مساحة الاسم System.Data.SqlClient، قد تواجه استخدام CPU عالي التطبيق وقد يتوقف عن الاستجابة
إصلاح 912732 : قد يحدث خطأ عند بدء معاملة جديدة في ADO.NET 2.0 على اتصال مفتوح لقاعدة بيانات SQL Server 2005
إصلاح 913177 : قد تتلقى رسالة إعلام بخطأ عندما يستخدم أحد تطبيقات المتصلة ADO.NET فئة سقلبولككوبي
إصلاح 913764 : ظهور رسالة خطأ عند محاولة تشغيل استعلام UNION ALL أو استدعاء الأسلوب ديريفيباراميتيرس: "خطأ اتصال داخلي فادح"
إصلاح 913765 : SqlException استثناء قد تحدث عند استدعاء إحدى طرق التنفيذ على المثيل من فئة SqlCommand في تطبيق ADO.NET 2.0
إصلاح 913766 : يتمثل العمود التاريخ والوقت A يحتوي على أية بيانات بشكل غير صحيح بحقل DateTime.MinValue عندما يتم إلغاء تسلسل كائن مجموعة بيانات.NET Framework 2.0 على جهاز كمبيوتر عميل