ملقم SQL Archiالبنية (موضح)

⚡ ملخص ذكي

ملقم SQL Archiتتبع البنية نموذج العميل والخادم المنظم في ثلاث طبقات أساسية: طبقة البروتوكول للاتصال الشبكي، ومحرك العلاقات لمعالجة الاستعلامات، ومحرك التخزين لإدارة البيانات واسترجاعها.

  • اختيار البروتوكول: اختر الذاكرة المشتركة للاتصالات المحلية، أو بروتوكول TCP/IP للوصول عن بعد، أو الأنابيب المسماة لبيئات الشبكة المحلية بناءً على بنية شبكتك.
  • 🔥 معالجة الاستعلام: يقوم محرك العلاقات بتحليل بناء الجملة، وتحسين خطط التنفيذ من خلال تحليل التكلفة متعدد المراحل، وتفويض استرجاع البيانات إلى محرك التخزين.
  • 📦 ادارة التخزين: تستخدم ملفات البيانات صفحات بحجم 8 كيلوبايت مجمعة في نطاقات، مع Buffer مدير مسؤول عن التخزين المؤقت ومدير المعاملات يضمن الامتثال لمعايير ACID.
  • 🔒 تحسين الأداء: Buffer يقلل التخزين المؤقت من عمليات الإدخال/الإخراج من خلال تقديم البيانات التي يتم الوصول إليها بشكل متكرر من الذاكرة، بينما يقوم التخزين المؤقت للخطة بتخزين خطط التنفيذ لإعادة استخدام الاستعلام.
  • تقديم Integrity: التسجيل المسبق والتسجيل الكسول Writer تعمل العمليات معًا لضمان متانة البيانات وإدارة الذاكرة بكفاءة.
  • 📋 تدفق البيانات: تمر كل استعلامة عبر ترميز حزمة TDS، وتحليل CMD، والتحسين، والتنفيذ، والتفاعل مع طبقة التخزين قبل أن تعود النتائج إلى العميل.

ملقم SQL Architecture

يعتمد خادم MS SQL على بنية خادم-عميل. تبدأ عملية خادم MS SQL بإرسال تطبيق العميل طلبًا. يستقبل خادم SQL الطلب، ويعالجه، ثم يرد عليه بالبيانات المُعالجة. دعونا نناقش بالتفصيل البنية الكاملة الموضحة أدناه:

كما يوضح الرسم البياني أدناه، هناك ثلاثة مكونات رئيسية في SQL Server Archiالبنية:

  1. طبقة البروتوكول
  2. المحرك العلائقي
  3. محرك التخزين

ملقم SQL Archiمخطط هيكلي يوضح مكونات طبقة البروتوكول، ومحرك العلاقات، ومحرك التخزين

طبقة البروتوكول – SNI

تدعم طبقة بروتوكول SQL Server، والمعروفة أيضًا باسم واجهة شبكة الخادم (SNI)، ثلاثة أنواع من بنية العميل والخادم. يخدم كل بروتوكول سيناريو شبكي مختلف. يُعد فهم هذه البروتوكولات أمرًا أساسيًا قبل استكشاف كيفية معالجة الاستعلامات داخليًا.

ذكريات مشتركه

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

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

تشبيه: توم يرتبط بالعميل، والأم ترتبط بخادم SQL، والمنزل يرتبط بالجهاز، والاتصال اللفظي يرتبط ببروتوكول الذاكرة المشتركة.

خريطة تشبيه بروتوكول الذاكرة المشتركةping العميل إلى توم وخادم SQL إلى الأم

ملاحظات التكوين: In مزود إدارة الاستوديو، يمكن أن يكون خيار "اسم الخادم" للاتصال المحلي هو "." أو "localhost" أو "127.0.0.1" أو "Machine\Instance".

TCP / IP

لنفترض الآن أن توم يريد قهوة من مقهى يبعد 10 كيلومترات. توم في منزله، والمقهى يقع في سوق مزدحم. يتواصلان عبر شبكة خلوية. وبالمثل، يوفر خادم SQL Server بروتوكول TCP / IP عندما يكون العميل وخادم SQL على أجهزة منفصلة متصلة عبر شبكة.

مخطط بروتوكول TCP/IP يوضح العميل وخادم SQL على الأجهزة البعيدة

تشبيه: يتم ربط Tom بالعميل، ويتم ربط المقهى بخادم SQL، ويتم ربط المنزل والسوق بالمواقع البعيدة، ويتم ربط شبكة الهاتف المحمول ببروتوكول TCP/IP.

خريطة تشبيه بروتوكول TCP/IPping الاتصال عن بعد بين العميل والخادم

ملاحظات التكوين: في SQL Management Studio، يجب أن يكون خيار "اسم الخادم" لاتصال TCP/IP هو "Machine\Instance of the server". يستخدم SQL Server المنفذ 1433 افتراضيًا لاتصالات TCP/IP.

الأنابيب المسماة

أخيرًا، يريد توم شايًا أخضر من جارته سييرا. فهما في نفس الموقع الجغرافي، كونهما جيرانًا، ويتواصلان عبر شبكة داخلية. وبالمثل، يوفر خادم SQL بروتوكول Named Pipe عندما يكون العميل والخادم متصلين عبر شبكة محلية (LAN).

مخطط بروتوكول الأنابيب المسماة لاتصالات خادم SQL المستندة إلى الشبكة المحلية

تشبيه: توم يرتبط بالعميل، وسيرا ترتبط بخادم SQL، وكونهم جيران يرتبط بالشبكة المحلية، والشبكة الداخلية ترتبط ببروتوكول Named Pipe.

ملاحظات التكوين: يتم تعطيل Named Pipes افتراضيًا ويجب تمكينه من خلال SQL Configuration Manager.

ما هو TDS؟

والآن بعد أن اتضحت الأنواع الثلاثة لبنية العميل والخادم، إليكم نظرة على TDS:

  • TDS لتقف على تدفق البيانات الجدولية.
  • تستخدم البروتوكولات الثلاثة جميعها حزم بيانات TDS.
  • يتم تغليف TDS في حزم الشبكة، مما يتيح نقل البيانات من جهاز العميل إلى جهاز الخادم.
  • تم تطوير نظام TDS لأول مرة بواسطة شركة Sybase وهو مملوك الآن لشركة Microsoft.

يقارن الجدول التالي بين بروتوكولات الاتصال الثلاثة لخادم SQL:

الميزات ذكريات مشتركه TCP / IP الأنابيب المسماة
نطاق الشبكة نفس الآلة عن بعد (شبكة واسعة/إنترنت) LAN فقط
المنفذ الافتراضي لا يوجد 1433 445
هاملت الأسرع (بدون أي تأثير على الشبكة) جيد (مُحسَّن لشبكات WAN) جيد (مُحسَّن للشبكة المحلية)
مُفعّل افتراضياً نعم نعم لا
أفضل حالة استخدام التطوير والاختبار المحلي الوصول عن بعد للإنتاج بيئات الشبكة المحلية الموثوقة

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

المحرك العلائقي

يُعرف محرك العلاقات أيضًا باسم معالج الاستعلامات. وهو يحتوي على مكونات خادم SQL التي تحدد ما يجب أن يفعله الاستعلام وكيفية تنفيذه بأعلى كفاءة. وهو مسؤول عن تنفيذ استعلامات المستخدم من خلال طلب البيانات من محرك التخزين ومعالجة النتائج المُسترجعة.

كما هو موضح في الرسم التخطيطي المعماري، هناك ثلاثة مكونات رئيسية لمحرك العلاقات:

محلل كمد

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

مكون محلل أوامر سطر الأوامر (CMD) الذي يعرض التحقق من بناء الجملة، والتحقق من الدلالات، وإنشاء شجرة الاستعلام.

التدقيق النحوي: كما هو الحال في جميع لغات البرمجة الأخرى، يمتلك SQL Server مجموعة محددة مسبقًا من الكلمات المفتاحية وقواعد اللغة. تُعدّ عبارات SELECT وINSERT وUPDATE وغيرها الكثير جزءًا من قائمة الكلمات المفتاحية المحددة مسبقًا. يتحقق محلل الأوامر (CMD Parser) من أن المدخلات تتبع هذه القواعد. إذا انحرفت مدخلات المستخدم عن الصيغة المتوقعة، يُعيد المحلل خطأً.

على سبيل المثال: تخيل شخصًا روسيًا يدخل مطعمًا يابانيًا ويطلب طعامًا باللغة الروسية. النادل لا يفهم إلا اليابانية ولا يستطيع معالجة الطلب. وبالمثل، إذا كتب المستخدم "SELECR" بدلًا من "SELECT"، فإن محلل أوامر CMD يُرجع خطأً لأنه لا يتعرف على الكلمة المفتاحية.

التدقيق الدلالي: يُنفّذ هذا الإجراء بواسطة المُوحِّد (Normalizer). يتحقق المُوحِّد من وجود أسماء الأعمدة والجداول والكائنات الأخرى المُستعلم عنها في المخطط. إذا كانت موجودة، يقوم المُوحِّد بربطها بالاستعلام. تُعرف هذه العملية أيضًا باسم الربط. عندما تحتوي استعلامات المستخدم على عرض (VIEW)، يستبدله المُوحِّد بتعريف العرض المُخزَّن داخليًا.

على سبيل المثال: الركض SELECT * from USER_ID سيؤدي ذلك إلى قيام المحلل اللغوي بإصدار خطأ أثناء الفحص الدلالي إذا لم يكن الجدول USER_ID موجودًا في قاعدة البيانات.

إنشاء شجرة استعلام: تُنتج هذه الخطوة أشجار تنفيذ مختلفة تمثل الطرق المتنوعة التي يمكن بها تشغيل الاستعلام. جميع الأشجار تُنتج نفس الناتج المطلوب.

محسن

يُنشئ مُحسِّن الاستعلام خطة تنفيذ لاستعلام المستخدم. تُحدد هذه الخطة كيفية تنفيذ الاستعلام. لا تُحسَّن جميع الاستعلامات. ينطبق التحسين على أوامر لغة تعديل البيانات (DML) مثل SELECT وINSERT وDELETE وUPDATE. أما أوامر لغة تعريف البيانات (DDL) مثل CREATE وALTER فلا تُحسَّن، بل تُجمَّع في صيغة داخلية.

سير عمل مُحسِّن SQL Server الذي يُظهر ثلاث مراحل للتحسين

تُحسب تكلفة الاستعلام بناءً على عوامل مثل استخدام وحدة المعالجة المركزية، واستخدام الذاكرة، واحتياجات الإدخال/الإخراج. ويتمثل دور المُحسِّن في إيجاد خطة التنفيذ الأقل تكلفة والأكثر فعالية، وليس بالضرورة الأفضل على الإطلاق.

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

يقوم المُحسِّن بالبحث على ثلاث مراحل:

المرحلة 0: البحث عن خطة تافهة

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

المرحلة الأولى: البحث عن خطط معالجة المعاملات

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

المرحلة الثانية: المعالجة المتوازية والتحسين

إذا لم تُسفر الاستراتيجيات السابقة عن خطة مناسبة، يبحث المُحسِّن عن إمكانيات المعالجة المتوازية بناءً على قدرات المعالجة للجهاز. وإذا تعذّر ذلك، تبدأ مرحلة تحسين نهائية تستخدم جميع الخيارات المتبقية لإيجاد أفضل خطة تنفيذ ممكنة.

منفذ الاستعلام

يستدعي مُنفِّذ الاستعلامات دالة الوصول في مُحرك التخزين. ويُقدِّم خطة تنفيذ تتضمن منطق جلب البيانات اللازم للتنفيذ. وبمجرد استلام البيانات من مُحرك التخزين، تُنشر النتيجة إلى طبقة البروتوكول وتُرسل إلى المستخدم النهائي.

يقوم مُنفِّذ الاستعلام بتمرير خطة التنفيذ إلى طريقة الوصول في محرك التخزين

بعد أن يحدد محرك العلاقات كيفية تنفيذ الاستعلام، يتولى محرك التخزين عمليات البيانات المادية. وتتولى هذه الطبقة إدارة كيفية تخزين البيانات وتخزينها مؤقتًا واسترجاعها من القرص.

محرك التخزين

يُعدّ محرك التخزين مسؤولاً عن تخزين البيانات في نظام تخزين مثل القرص أو شبكة التخزين (SAN) واسترجاعها عند الحاجة. قبل الخوض في مكونات محرك التخزين، من المهم فهم كيفية تخزين البيانات فعلياً.

بنية محرك التخزين توضح طريقة الوصول، Buffer مدير، ومدير المعاملات

ملفات البيانات وامتداداتها

تخزن ملفات البيانات البيانات فعليًا على شكل صفحات بيانات، ويبلغ حجم كل صفحة 8 كيلوبايت. هذه هي أصغر وحدة تخزين في ملقم SQLتُجمّع صفحات البيانات منطقيًا في نطاقات. لا يُخصّص أي كائن لصفحة فردية مباشرةً؛ بل تتم الصيانة عبر النطاقات. تحتوي كل صفحة على رأس صفحة (96 بايت) يحمل بيانات وصفية مثل نوع الصفحة ورقمها والمساحة المستخدمة والمساحة الحرة ومؤشرات إلى الصفحات التالية والسابقة.

أنواع الملفات

أنواع ملفات SQL Server التي تعرض الملفات الأساسية والثانوية وملفات السجل

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

الملف الثانوي: قد تحتوي قاعدة البيانات على ملفات ثانوية متعددة أو لا. هذه الملفات اختيارية وتحتوي على بيانات خاصة بالمستخدم. عادةً ما يكون امتدادها .ndf، ولكن يمكن أن يكون أي امتداد آخر.

ملف السجل: تُعرف أيضًا باسم سجلات الكتابة المسبقة. امتدادها .ldf. تُستخدم ملفات السجل لإدارة المعاملات، والتعافي من الحالات غير المرغوب فيها، وإجراء التراجع عن المعاملات غير الملتزمة.

يتكون محرك التخزين من ثلاثة مكونات رئيسية. يلعب كل منها دورًا محددًا في إدارة الوصول إلى البيانات وسلامتها.

طريقة الوصول

تعمل طريقة الوصول كواجهة بين مُنفِّذ الاستعلام و Buffer مدير سجلات المعاملات. لا يقوم بتنفيذ الاستعلام بنفسه، ولكنه يحدد نوع الاستعلام:

  • إذا كان الاستعلام عبارة عن عبارة SELECT (DML)، ثم يتم تمريرها إلى Buffer مدير لإجراءات المعالجة اللاحقة.
  • إذا كان الاستعلام عبارة عن عبارة غير SELECT (DDL وDML)ثم يتم تمريرها إلى مدير المعاملات. ويشمل ذلك في الغالب عبارات التحديث والإدراج والحذف.

توجيه استعلامات SELECT باستخدام طريقة الوصول إلى Buffer مدير وغير SELECT إلى مدير المعاملات

Buffer كلمة المدير

استخدم Buffer يتولى المدير إدارة الوظائف الأساسية لذاكرة التخزين المؤقت للخطة، وتحليل البيانات، ومعالجة الصفحات المتغيرة.

Buffer بنية المدير التي توضح ذاكرة التخزين المؤقت للخطة، Buffer التفاعل بين ذاكرة التخزين المؤقت وتخزين البيانات

خطة ذاكرة التخزين المؤقت

خطة الاستعلام الحالية: استخدم Buffer يتحقق المدير مما إذا كانت خطة التنفيذ موجودة في ذاكرة التخزين المؤقت للخطط. إذا كانت موجودة، فسيتم استخدام خطة الاستعلام المخزنة مؤقتًا وذاكرة التخزين المؤقت للبيانات المرتبطة بها مباشرةً.

خطة التخزين المؤقت لأول مرة: إذا كانت خطة تنفيذ الاستعلام لأول مرة معقدة، فسيتم تخزينها في ذاكرة التخزين المؤقت للخطط. وهذا يضمن توفرها بشكل أسرع في المرة القادمة التي يتلقى فيها خادم SQL نفس الاستعلام.

تحليل البيانات: Buffer ذاكرة التخزين المؤقت وتخزين البيانات

استخدم Buffer يُتيح المدير الوصول إلى البيانات المطلوبة. هناك طريقتان ممكنتان اعتمادًا على ما إذا كانت البيانات موجودة في ذاكرة التخزين المؤقت أم لا:

Buffer ذاكرة التخزين المؤقت - التحليل المرن

استخدم Buffer يبحث المدير عن البيانات في Buffer ذاكرة التخزين المؤقت. إذا كانت البيانات موجودة، يستخدمها مُنفِّذ الاستعلام مباشرةً. يُحسِّن هذا الأداء لأن جلب البيانات من ذاكرة التخزين المؤقت يتطلب عمليات إدخال/إخراج أقل مقارنةً بجلبها من وحدة التخزين على القرص.

Buffer تدفق تحليل ذاكرة التخزين المؤقت حيث يتم استرجاع البيانات من ذاكرة التخزين المؤقت

تخزين البيانات – التحليل الصلب

إذا لم تكن البيانات موجودة في Buffer في ذاكرة التخزين المؤقت، يتم البحث عن البيانات المطلوبة في وحدة تخزين البيانات على القرص. ثم يتم تخزين البيانات أيضًا في ذاكرة التخزين المؤقت للبيانات لاستخدامها لاحقًا.

عملية تحليل البيانات الصعبة حيث يتم جلب البيانات من وحدة تخزين القرص وتخزينها مؤقتًا

مدير المعاملات

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

مدير المعاملات يعرض مدير السجلات، ومدير الأقفال، وتدفق عملية التنفيذ

مدير السجل

يحتفظ مدير السجلات بـ tracيتم تسجيل جميع التحديثات التي تُجرى على النظام من خلال سجلات مخزنة في سجلات المعاملات. يحتوي كل إدخال في السجل على رقم تسلسل السجل بالإضافة إلى مُعرّف المعاملة وسجل تعديل البيانات. هذه الآلية tracks المعاملات الملتزمة والمتراجعة.

مدير القفل

أثناء عملية المعاملة، تدخل البيانات المرتبطة بها في وحدة التخزين في حالة مقفلة. يتولى مدير القفل هذه العملية، مما يضمن اتساق البيانات وعزلها. تُعرف هذه الخصائص أيضًا باسم ACID (Atomالجليدية، الاتساق، العزلة، المتانة).

عملية التنفيذ

تتبع عملية التنفيذ الخطوات التالية:

  1. يبدأ مدير السجلات عملية التسجيل، ويقوم مدير القفل بقفل البيانات المرتبطة بها.
  2. يتم الاحتفاظ بنسخة من البيانات في Buffer مخبأ.
  3. يتم الاحتفاظ بنسخة من البيانات المراد تحديثها في السجل. Bufferوجميع الأحداث تُحدّث البيانات في قسم البيانات Buffer.
  4. تُعرف الصفحات التي تخزن البيانات المعدلة باسم الصفحات القذرة.

تسجيل نقاط التفتيش والكتابة المسبقة

تُنفَّذ عملية التحقق من الصفحة مرة واحدة تقريبًا كل دقيقة، وتُعلِّم جميع الصفحات المُعدَّلة لكتابتها على القرص. ومع ذلك، تُرسَل الصفحة أولًا إلى صفحة البيانات في ملف السجل من Buffer سجل. تُعرف هذه الآلية باسم تسجيل الكتابة المسبقة. تبقى الصفحات المتغيرة في ذاكرة التخزين المؤقت حتى بعد كتابتها على القرص.

كسول Writer

عندما يلاحظ خادم SQL Server حملاً ثقيلاً ويحتاج إلى ذاكرة مؤقتة للمعاملات الجديدة، فإنه يحرر الصفحات المتسخة من ذاكرة التخزين المؤقت. (العملية الكسولة) Writer يعمل على خوارزمية LRU (الأقل استخدامًا مؤخرًا) لتنظيف الصفحات من مجموعة المخزن المؤقت إلى القرص.

كيف يعالج خادم SQL الاستعلام من البداية إلى النهاية

يُعدّ فهم كل طبقة على حدة أمرًا قيّمًا، لكن رؤية كيفية عملها معًا تُوضّح الصورة الكاملة. عندما يُرسل تطبيق العميل استعلام SQL، يحدث التسلسل التالي:

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

يقوم منفذ الاستعلام باستدعاء محرك التخزين طريقة الوصول، التي توجه استعلامات SELECT إلى Buffer مدير الاستعلامات والتعديلات لمدير المعاملات. Buffer يقوم المدير بفحص ذاكرة التخزين المؤقت للخطة و Buffer يُخزَّن البيانات مؤقتًا أولًا (تحليل برمجي). إذا لم تكن البيانات مخزنة مؤقتًا، فسيتم قراءة البيانات من القرص (تحليل برمجي). بالنسبة لعمليات الكتابة، يُنسِّق مدير المعاملات بين مدير السجلات ومدير الأقفال وعملية نقاط التحقق لضمان الامتثال لمعايير ACID.

بمجرد أن يقوم محرك التخزين بإرجاع البيانات المطلوبة، يقوم المحرك العلائقي بتنسيق مجموعة النتائج، وتقوم طبقة البروتوكول بإعادتها إلى تطبيق العميل من خلال نفس بروتوكول TDS.

كيفية اختيار البروتوكول المناسب لاتصالات خادم SQL

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

استخدام الذاكرة المشتركة عندما يعمل تطبيق العميل على نفس الجهاز الذي يعمل عليه خادم SQL، يُعد هذا الخيار الأسرع لأنه يُلغي جميع تكاليف الشبكة. وهو مثالي للتطوير المحلي والاختبار وعمليات النشر على جهاز واحد.

استخدم بروتوكول TCP/IP عندما يكون العميل والخادم على جهازين مختلفين متصلين عبر شبكة واسعة النطاق (WAN) أو الإنترنت، يُعد هذا البروتوكول الأكثر شيوعًا في بيئات الإنتاج. يستمع خادم SQL Server افتراضيًا على المنفذ 1433، ويدعم هذا البروتوكول الاتصالات المشفرة عبر بروتوكول TLS.

استخدم الأنابيب المسماة عندما يكون كل من العميل والخادم على نفس الشبكة المحلية الموثوقة، وتكون الأداء على الشبكات الداخلية أولوية، فإنّ Named Pipes مُعطّل افتراضيًا، ويجب تفعيله من خلال مدير تكوين SQL Server. يُعدّ استخدامه أقل شيوعًا في عمليات النشر الحديثة، ولكنه لا يزال مفيدًا لتطبيقات الإنترانت القديمة.

الأسئلة الشائعة

يتكون هيكل SQL Server من ثلاث طبقات: طبقة البروتوكول (تتعامل مع الاتصال الشبكي عبر الذاكرة المشتركة أو TCP/IP أو الأنابيب المسماة)، ومحرك العلاقات (يعالج الاستعلامات)، ومحرك التخزين (يدير تخزين البيانات واسترجاعها).

بروتوكول TDS (تدفق البيانات الجدولية) هو بروتوكول تستخدمه جميع طرق الاتصال الثلاث في SQL Server. يقوم هذا البروتوكول بتغليف البيانات في حزم شبكية لنقلها بين العميل والخادم. وقد طُوّر بروتوكول TDS في الأصل بواسطة شركة Sybase.

يسترجع التحليل المرن البيانات من Buffer يؤدي التخزين المؤقت في الذاكرة إلى تسريع التنفيذ. أما التحليل الصعب فيحدث عندما لا تكون البيانات مخزنة مؤقتًا ويجب قراءتها من وحدة التخزين على القرص، مما يتطلب المزيد من عمليات الإدخال/الإخراج.

يقوم المُحسِّن بالبحث عبر ثلاث مراحل: اكتشاف الخطة البسيطة، والبحث عن خطة معالجة المعاملات، وتحسين المعالجة المتوازية. ويختار الخطة الأقل تكلفة والأكثر فعالية من حيث التكلفة بناءً على عوامل وحدة المعالجة المركزية والذاكرة والإدخال/الإخراج.

الصفحات المتسخة هي صفحات بيانات في Buffer ذاكرة التخزين المؤقت التي تم تعديلها ولكن لم تُكتب بعد على القرص. عملية نقطة التفتيش و Lazy Writer معالجة عملية تفريغ الصفحات المتسخة إلى وحدة التخزين على القرص بشكل دوري.

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

نعم. يمكن لأدوات إدارة قواعد البيانات المدعومة بالذكاء الاصطناعي تحليل أنماط الاستعلام، والتوصية بتحسينات الفهرسة، والتنبؤ باختناقات الموارد، وأتمتة مهام ضبط الأداء التي تتطلب تقليديًا تدخلًا يدويًا من قبل مسؤول قاعدة البيانات.

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

تلخيص هذه التدوينة بـ: