التنبيهات التالية ظهرت :
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 864 - File: showthread.php PHP 7.4.33 (Linux)
File Line Function
/showthread.php 864 errorHandler->error



تقييم الموضوع :
  • 1 أصوات - بمعدل 5
  • 1
  • 2
  • 3
  • 4
  • 5
تجهيز SQL Server للعمل على الشبكة
#1
السلام عليكم و رحمة الله و بركاته

تعد مشاكل ربط SQL Server مع الاجهزة الفرعية على الشبكة الداخلية من المشاكل المعقدة
و المتشعبة و التي ترتبط بالكثير من الامور , و بعضها يكون خارج عن السيطرة.
المهم في هذا المقال سنتحدث عن طريقة تجهيز السيرفر لاستقبال الاتصالات من الاجهزة الفرعية وفقاً للطرق التي نعرفها
و يعرفها الاغلب منكم.
سنحتاج الى برنامج SQL Server مثبت على جهاز واحد فقط (الجهاز الرئيسي) , و نحتاج الى مجموعة اجهزة فرعية مربوطة مع الجهاز السابق عبر شبكة .
بعد توفر SQL Server و سلامة الشبكة نبدأ بالخطوات اللازمة لتجهيز SQL Server ليكون خادم لهذه الشبكة.

اولاً و قبل كل شيئ يجب ان تمتلك القدرة على الولوج الى السيرفر من الجهاز الرئيسي و ان تستطيع تصفح كائنات السيرفر بشكل سلسل دون اخطاء .

الخطو الاولى:تجهيز اعدادت السيرفر 
نذهب الى قائمة ابدأ و من ثم الى كل البرامج و من ثم الى نسخة برنامج السيرفر لدينا مثلاً (SQL Serve 2008 R2) و من ثم الى المجلد (Configuration Tools) و من ثم الى (SQL Server configuration Manager) .
او بطريقة مختصرة نضغط على مفتاحي (Win+R) مفتاح الوندوز + R لتظهر نافذة تشغيل و من ثم نكتب بداخلها  (sqlservermanager12.msc) حيث الرقم 12 يمثل نسخة السيرفر.
تفتح لدينا نافذة بتبويبين.
نحدد SQL Server Services  تظهر في الجهة اليسرى قائمة الخدمات التي يؤمنها السيرفر (يختلف عددها حسب نسخة السيرفر)
نتأكد ان السيرفر يعمل و ذلك بوجدود ايقونة السهم الاخضر بجانبه و عادة يحمل الاسم (MSSQLSERVER) او (SQLSERVER)
ونتأكد ايضاً ان (SQL Server Browser) يعمل كذلك الامر.
اذا كان لديك نسخة Exprees يظهر لديك اسم الخدمة بهذا الشكل (SQLSERVER(SqlExpress
بالنسبة للاسم هذا هو الاسم الافتراضي في حال لم يقم المستخدم بتغير الاسم يدوياً اثناء تنصيب SQL Server
اذا لم تكن تعمل الخدمة بيمين الماوس ثم Start
الصورة توضح المطلوب



في نفس النافذة حدد (SQL Server Network Configuration) و من ثم حدد (Portocols for MSSQLSERVER)
تظهر لك 3 انواع من بروتوكولات الاتصال , عادة البروتوكول Shred Memory يكون مفعل لانه يستخدم للاتصال من نفس الجهاز
ولاستخدام بروتوكول TCP/IP يتوجب تفعيله بيمين الماوس ثم Enable , كما في الصورة.




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



الخطوة الثانية : الحصول على رقم IP الجهاز سنحتاجه لبعض التجارب
كما تعلمنا سابقاً افتح نافذة تشغي و اكتب بها (Cmd) لفتح محرر الدوس
اكتب بداخله (ipconfig)  ثم اضغط Enter
ستحصل على مجموعة اسطر انتبه الى نوعين من ipv   الاول (ipv4) و الثاني (ipv6)
يستطيع السيرفر الاتصال عبر هذين النوعين القديم ipv4  و الجديد ipv6 و ما يهمنا هنا هو القديم اقصر و اسهل في التعامل
سنفرض ان رقم الــ IP الذي حصلنا عليه هو  (192.168.1.142)  .

الخطوة الثالثة : الحصول على المنفذ الذي يستخدمه السيرفر .
عادة انت ستتصل من الاجهزة الفرعية الى الجهاز الرئيسي عبر البروتوكول TCP/IP و رقم المنفذ المخصص له
و لكن لاعتبارات كثيرة قد لا يكون المنفذ هو المنفذ المتعارف عليه الافتراضي 1433 , مثل وجود اكثر من نسخة Server او ان المنفذ محتل من قبل تطبيق اخر او اي شيئ لا ندري ماهو ....؟؟
لذلك توجب علينا معرفة رقم المنفذ وفق ما يلي
الان نتوجه الى (SQL SERVER Management Studio) و ندخل للسيرفر ثم نتوجه الى القائمة (Management) ثم الى (SQL Server Logs) ثم  (Current Log) .
تفتح لنا نافذة نضغط على (Filter) في شريط الادوات , تظهر لنا نافذة جديدة نتوجه الى الحقل (Message Contains Text) و نكتب بداخلها  (server is listening on) ثم نؤشر على (Apply Filter) و نضغط Ok  .
تختفي النافذة و نحصل على معلومات عن البورت المستخدم من قبل السيرفر , شيئ من هذا القبيل
Server is listening on [ 'any' <ipv4> 1433]
هذا الكلام يعني ان المنفذ المستخدم هو الافتراضي 1433 , الصورة توضح المطلوب







الخطوة الرابعة : فتح قواعد اتصال للبورتات المحددة في الجدار الناري و كذلك تامين قاعدة اتصال لبرنامج SQL Server
من المعروف ان الجدار الناري لا يرخص لاي برنامج او يسمح لاي منفذ بالتشغيل دون ان تكون قد سمحت له بذلك او قام النظام بتامين ذلك اتوماتيكياً.
نحتاج الى السماح لكلا المنفذين TCP/IP و  UDP  بالارقام  1433 , 1434 , كما يظهر لك من الصورة السابقة .
نفتح الجدار الناري كما اعتدنا , عن طريق تشغيل اكتب (wf.msc) اضغط Enter , تابع الصور

اولاً منفذ TCP/IP












ثانياً اضافة المنفذ UDP بالرقم 1434 بنفس الخطوات السابقة فقط نغير نوع المنفذ




صورة توضح


يمكنك تخصيص البورت لبرنمج محدد , بيمين الماوس على البورت المحدد تظهر لك نافذة , حدد منها مسار البرنامج المرتبط بالمنفذ او بامكانك عدم تعديله ليستخدمه اي برنامج .


ثالثاً السماح لــ SQL SERVER بالعمل ضمن الجدار الناري 
نفس الخطوات السابقة و لكن هذه المرة سنختار برنامج و من ثم نحدد مساره على الجهاز






البرنامج عادة يكون في المسار التالي
C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\Sqlservr.exe

مع اختلاف الرقم حسب نسخة السيرفر لديك


الخطوة الخامسة : تجهيز بعض الاعدادت على السيرفر
اما من جهة السيرفر نريد ان تأكد انه يسمح بالاتصال عن بعد كما نريد تكوين مستخدم خاص بنا يستطيع الولوج للسيرفر وفق كلمة مرور خاصة بنا 

نتوجه الى Management Studio
نضغط على اسم السيرفر باليمين ثم خضائص
نتعرف على اسم السيرفر لدينا


في نفس النافذة نغير كما في الصور للسماح بالاتصال عن بعد و تمكين ولوج مستخدمين للسيرفر





نغلق النافذة السابقة .

نحتاج لعمل مستخدم خاص بنا , نتوجه الى التبويب Security - > Login  باليمين  New Login  تابع كما بالصورة



من نفس النافذة نؤمن وصول المستخدم للقواعد المحددة



من نفس النافذة ايضاً


اخيراً = OK

نلاحظ توفر المستخدم الذي انشأناه في القاعدة



انتهينا من كل التجهيزات التي نريدها بقي علينا اختبار الاتصالات بين السيرفر و الاجهزة الفرعية.

يتبع.........
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}


الردود في هذا الموضوع
تجهيز SQL Server للعمل على الشبكة - بواسطة ابو ليلى - 18-07-17, 09:11 PM


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم