تثبيت نظام قواعد البيانات SQLServer

المقدمة

بسم الله الرحمن الرحيم

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

ملاحظة مهمة

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

تركيب قاعدة البيانات بالإعدادت الافتراضية في الغالب يكفي في حال كان التطبيق بسيط وغير معقد لكن يجب تغير الاعدادات على حسب الاحتياج حيث أداء قاعدة البيانات سوف يتأثر بناءً على الإعدادت.

أفضل الممارسات قبل البدء بالتثبيت

قبل البدء بالتثبيت هناك بعض الممارسات التي ينصح بعملها وذلك لحصول أفضل أداء من نظام إدارة قواعد البيانات ومنها مايلي:

  1. التأكد من إستخدام الموارد المناسبة من CPUz و RAM بناء على احتياج التطبيقات المستخدمة ويفضل مراقبة الموارد بشكل دوري والتعديل عليها حسب الحاجة.
  2. استخدام التخزين المناسب بناء على احتياج التطبيقات ومراقبة حجم قواعد البيانات والتاكد من توفر على الاقل 25% من المساحة الفارغة في القرص الصلب HardDisk.
  3. عمل تهيئة Format للأقراص المستخدمة من ملفات قواعد البيانات Data files,logfiles and tempdb files وذلك بإختيار 64kb ك Allocation unit.

Format Disk with 64k

  1. يفضل إستخدام RAID 10 لملفات قواعد البيانات Data files, transcation logfiles و RAID 5 للملفات النسخ الاحتياطية و Local Fast Disks للملفات قواعد البيانات المؤقته.

  2. إستخدام أقراص مختلفة لكل من الملفات التالية:

    • نظام قواعد البيانات SQLServer Binaries.
    • ملفات قواعد البيانات DataFiles.
    • ملفات قواعد البيانات Transaction LogFiles.
    • ملفات قواعد البيانات المؤقتةTempDB Files.
    • ملفات النسخ الإحتياطية Backup Files.
    • ملفات نظام التشغيل OS Drive.
  3. كلما أمكن إستخدام أقراص سريعة في القراءة والكتابة كلما كان أداء قواعد البيانات أفضل والحرص على استخدام أقراص سريعة لملفات قواعد البيانات المؤقتة TempDB لأنها قد تؤثر على أداء نظام قواعد البيانات بشكل عام.

  4. بالنسبة للإصدار المختار يختلف الإختيار بناء على المميزات المطلوبة والدعم المطلوب من قبل التطبيقات التي سوف يتم تثبيتها ولكن بشكل عام يفضل إستخدام الإصدار قبل الأخير وذلك للتأكد من إستقرار النظام.

  5. استخدام أدوات لقياس سرعة الأقراص والتأكد من سرعتها مثل DiskSpd ويفضل أن يكون latency أقل من 10ms.

  6. استخدام الطرق المتعددة Multi Path لكل من وسائل التخزين والشبكات وذلك للحصول على توفر أعلي في حال كان هناك مشكلة في أحد الطرق الموصلة بين الخادم والشبكة أو مكان التخزين.

  7. تثبيت نظام إدارة قواعد البيانات في خادم مستقل وذلك لمنع أي تطبيق أخر من التأثير على قواعد البيانات ولتطبيق أفضل الممارسات الأمنية حيث يمكن منح الوصول لخوادم قواعد البيانات لمدراء قواعد البيانات و مدراء النظام فقط.

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

  9. يفضل منح صلاحية للحساب المستخدم في تشغيل خدمة SQL Server Service وهي خاصية لعمل حفظ للبيانات في الذاكرة Lock pages in memory وذلك عن طريق السياسات المحلية Local Policy.

Lock Pages in Memory

  1. ينصح بتغيير إعدادت توفير الطاقة للخادم وذلك عن طريق خيارات الطاقة واختيار خيار الأداء العالي High Performance Mode.

High Performance Power Plan

  1. ينصح بالعمل مع فريق الأمن السيبراني لعمل تجاوزExclude بعض الملفات الخاصة بإدارة قواعد البيانات من برنامج مكافحة الفيروسات Antivirus. ومن الملفات المهمة التي يجب تجاوز عنها ملفات قواعد البيانات والعمليات الخاصة بها SQL Servers files (MDF,LDF,NDF) and Processes. ولإطلاع على كافة التفاصيل من الممكن مراجعة الموقع الرسمي لمايكروسوفت من هنا الملفات التي ينصح بعد فحصها من برنامج مكافح الفايروسات مع SQL Server

SQLServer Processes to be excluded from AntiVirus SQLServer files to be excluded from AntiVirus

  1. في المنظمة التي يوجد بها نطاق Active Directory Domain ينصح بإنشاء حساب لتشغيل الخدمات الخاصة Managed Service Account ب SQLServer. أما إذا كان لايوجد نطاق بالمنظمة فيفضل إستخدام الحسابات الإفتراضية SQLServer Virtual Accounts والتي يتم إختيارها بشكل إفتراضي.

خطوات التثبيت

  1. تحميل الإصدار المراد تثبيتها من موقع مايكروسفت الرسمي تحميل الإصدار من موقع مايكروسفت

  2. اختيار تحميل ملفات التنصيب

Download SQLServer Media

  1. ثم فتح الملف الذي تم تحميله بيصيغه ISO , والضغط على Setup.

click on setup

  1. هناك أكثر من خيار لتثبيت SQLServer بناء على نوع الحل الذي نود أن نبنيه، في هذا المقال سوف نقوم بتثبيت نسخة واحده مستقله standalone instance.

  2. نختار خيار New SQLServer standalone installation.

Standalone Setup

  1. بعد ذلك إختيار الإصدار المناسب ووضع رقم المنتج الذي تم شراءة ، سوف نقوم بإختيار النسخة المجانية للمطورين. يجب شراء رخصة لبيئة الإنتاج Production للنسخة القياسية و المؤسسة Standard & Enterprise License. للتفاصيل من الممكن مراجعة الرخص من موقع مايكروسفت الرخص SQL Server

Select Edition

  1. بعد ذلك الموافقة على الشروط ومن الممكن إختيار تحميل التحديث من موقع مايكروسوفت

  2. إختيار المميزات يكون بناء على المميزات لذلك يفضل دراسة جميع التطبيقات التي سوف يتم إستخدامها من قبل قواعد بيانات SQLServer إن أمكن ذلك. ومن الممكن تثبيت المميزات الأساسية فقط ثم إضافة المزيد في المستقبل.

Feature Selection

  1. من الممكن إستخدام Default Instance في حال سوف يتم تثبيت نسخة واحدة One Instance أما إذا كان هناك أكثر من نسخة فينصح بإستخدام Named Instance.

Instance Type

  1. في حال كان الخادم ضمن نطاق Domain يفضل بإستخدام الحسابات المدارةManaged Service Account من Active Directory. أما في حال لايوجد نطاق فيتم إستخدام الحسابات الإقتراضيةVirtual Accounts التي يتم إختيارها بشكل إفتراضي في نافذة التنصيب. سوف يتم الحديث عن كيفة إنشاء حساب مدار في مقال مستقل إن شاء الله.

Service Account

  1. يفضل إستخدام المصادقة بإستخدام Windows Authentication ومع التأكد من إعدادات Kerberos Protocol.

Authentication Mode

  1. وضع ملفات قواعد البيانات في أقراص مختلفة كما تم ذكره سابقا

Data Directory

  1. بالنسبة لقواعد البيانات المؤقته ٫ ينصح بوضعها على أقراص مستقلة وبعدد cores للخادم وبحد أقصى ٨ ملفات. مع العلم أن الإصدارات الحديثة من ٢٠١٩ و أعلى تقوم بوضع أفضل الممارسات بشكل إفتراضي في نافذة التثبيت.

ُTempDB Setting

  1. إعدادات MaxDOP هو أحد الإعدادات الخاصة بالإستفادة من عدد المعالجات الموجودة في الخادم حيث يساعد في إستغلال الموارد لتشغيل الإستفسارات Queries بشكل أسرع. يفضل دراسة التطبيق وقراءة متطلباته حيث بعض التطبيقات ينصح بوضع قيمة معينة لهذه الإعدادات. بشكل عام وخصوصا في الإصدارات الحديثة يتم وضع أفضل قيمة كبداية بشكل إفتراضي ولا يتطلب تغيرها الإ بعد دراسة ومراقبة الأداء.

MaxDOP Setting

  1. بالنسبة لإعدادت الـذاكرة من الأفضل دراسة الإحتياج ووضع الأحد الأعلى في حال معرفة كم المساحة المطلوبة وفي حال عدم معرفة الإحتياج من الممكن مراقبة الأداء ثم وضع الحد الأعلى خصوصا إذا كان هناك أكثر من Instance على نفس الخادم.

Memory Setting

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

FileStream Setting

  1. الخطوة الأخيرة مراجعة الإعدادات التي تم عملها ثم البدء بعميلة التثبيت. من المهم ذكر ان جميع الاعدادات التي تم عملها يتم حفظها في ملف بصيغة و بإسم ConfigurationFile.ini. من الممكن الإستفادة من هذا الملف في عمل أتمتة او عمل نفس الاعدادات في خادم اخر عن طريق مايعرف بالتثبيت الصامت Silent Installation.

ConfigurationFile Setting

أفضل الممارسات بعد التثبيت

بعد الانتهاء من التثبيت هناك بعض الممارسات التي ينصح بها بعد التثبيت ومنها مايلي:

  1. تثبيت أخر تحديث Cumulative Update ومن الممكن الإستفادة من الموقع الرسمي لمعرفة أخر تحديث للنسخة المثبتة أخر التحدثيات لنظام قواعد البيانات SQLServer.

  2. تعطيل الخدمات الغير مستخدمة في حال عدم الحاجة اليها مثل SQLServer Browser Service.

  3. تغيير اعدادات بعض الخدمات للتشغيل التلقائي في حال إستخدامها مثل خدمة SQLServer Agent Service.

  4. تفعيل النسخ الاحتياطي وجدولتة عن طريق إستخدام أحد الحلول النسخ الاحتياطية بالمنظمة أو بإستخدام المهام المجدولة في SQLServer Maintenance Jobs. ومن الممكن الإستعانة ببعض Scripts المقدمة من موقع ola.hallengren.com. ومن الممكن تحميلها من هنا Ola SQL Server Maintenance Scripts.

  5. كـذلك ينصح بتفعيل وجدولة مهام لصيانة قواعد البيانات مثل Database Integrity و Index Optimization.

بعض الإعدادت المهمة

بعد تركيب قاعدة البيانات ، هناك بعض الإعدادت التي سوف تحتاج غالبا لتفعيلها وهي كالتالي:

  • تفعيل إعدادات TCP/IP الخاصة بالشبكة لقواعد البيانات SQLServer حيث تفعيلها سوف يتلطب إعادة خدمة SQLServer Service وذلك للتمكن من التواصل مع نظام إدارة قواعد البيانات ب TCP/IP Protocol.

الخاتمة

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