عندما تتصل بـ SQl Server 2005 تعاني من طول فترة الاتصال
الظاهرة
عندما تقوم بالاتصال بـمحرك قواعد البيانات لـ Microsoft SQL Server 2005 ربما تعاني من وقت اتصال أطول مما اعتدت عليه في SQL Server 2000 وهذا يحدث عندما تتوافر لديك الشروط التالية:
• استخدام MDAC 2.8 أو أقدم
• البروتوكول TCP/IP غير مفعل في الـ SQL Server 2005
• بروتوكول الذاكرة المشتركة shared memory protocol مفعل في الكمبيوتر العميل وفي الكمبيوتر الذي يشغل SQL Server 2005
السبب
بروتوكول الذاكرة المشتركة الذي يستخدم في MDAC غير متوافق مع برتوكول الذاكرة المشتركة في SQL Server 2005 وعندما يحاول الكمبيوتر العميل الاتصال بـ SQL Server 2005 باستخدام بروتوكول الذاكرة المشتركة يقوم الكمبيوتر العميل مباشرة بالانتقال إلى البروتوكول TCP/IP من أجل القيام بالاتصال وبما أن البروتوكول TCP/IP غير مفعل يحصل التأخير عندها. حيث يقوم الكمبيوتر العميل بمحاولة الاتصال عبر البروتوكول TCP/IP لحوالي الثانية ثم يقوم بالاتصال عبر named pipe protocol و يوفر SQL Server 2005 اتصال named pipe protocol للعميل المحلي إذا كانت الذاكرة المشتركة مفعلة في SQL Server 2005
الحل
يمكنك استخدام إحدى الطرق التالية للتغلب على هذه المشكلة:
الطريقة الأولى
افتح عميل SQL Server Native Client للاتصال بـ SQL Server عوضا عن MDAC
الطريقة الثانية
قم بتفعيل البروتوكول TCP/IP في SQL Server 2005 وللقيام بذلك اتبع الخطوات التالية:
1. افتح SQL Server Configuration Manager
2. وسع SQL Server 2005 Network Configuration
3. انقر على Protocols for SQLInstanceName حيث SQLInstanceName هو اسم SQL Server 2005 لديك
4. فعل البروتوكول TCP/IP
الطريقة الثالثة
على الكمبيوتر العميل أنشئ اسم مستعار Alias لـلكمبيوترات العميلة لـ SQL Server 2005 في
SQL Server Configuration Manager ثم قم بتحديد named pipe protocol خاص لهذا الاسم المستعار:
1. افتح SQL Server Configuration Manager
2. وسع SQL Native Client Configuration
3. انقر على Alias ثم انقر New Alias
4. في خيار البروتوكول Protocol حدد Named Pipes وأدخل المعلومات المناسبة لـ Alias Name و Pipe Name و Server
نصيحة إضافية من التجربة قم بإيقاف تفعيل بروتوكول الذاكرة المشتركة shared memory protocol