مقدمة الى قواعد البيانات المركزية
قبل ان ابدء الشرح عن
SQL Server
اريد التحدث قليلا عن قواعد البيانات عامة وعن الفرق بينها وبين قواعد البيانات المركزية ، فكما يعلم البعض نظام ال
SQL Server
هو عبارة عن قاعدة بيانات مركزية تقوم بادارة قواعد البيانات وتوزيعها عبر شبكة الكومبيوتر
لقد بدء ظهور قواعد البيانات المركزية بشكل مكثف في نهاية الثمانينات ، طبعا هي موجودة بطريقة او باخرى منذ فترة اطول ولكن استخدامها اقتصر الى بعض المؤسسات الضخمة فقط
لقد كان الجميع قبل ذلك يستخدم البرامج التي صنعت بلغات البرمجة العادية والتي كانت تخزن بياناتها في ملفات خاصة بها ، والمشكلة الاساسية في تلك البرامج كانت محدودية استخدام البيانات ، اعني انك لا تستطيع الاستعلام عن البيانات بطريقة اخرى غير الطريقة التي صمم بها البرنامج
كمثال : لنفترض بانك تستخدم برنامج صمم بواسطة لغة برمجة ما ليخزن بياناته في ملفات خاصة به وليس في قواعد البيانات ، وكان احد فروع برنامجك هو الاستعلام عن البضائع ، مهما تتعب في تصميم هذا الاستعلام ، فقد تجد دوما من ياتي لك بفكرة جديدة لاستعلام ما
فقد يطلب الشخص كل البضائع التي تم استلامها في تاريخ معين ، من مورد معين وتم بيعها في تاريخ معين الى زبون معين ، قد يكون برنامج قادر على القيام بذلك ، ولكنه قد يعقد الاستعلام ويضاف الى الاستعلام السابق ترتيب البضائع حسب تاريخ الاستلام مثلا
فقد لا تكون وضعت تلك المميزة في برنامجك عند تصميمه ، ولذلك فلن يتمكن المستخدم النهائي الحصول على طلبه بالضبط
ومن هنا بدئت فكرة قواعد البيانات عامةً ، وكانت الفكرة ايجاد طريقة موحدة لحفظ البيانات ، وايجاد برنامج قادر على جميع انواع الاستعلامات من قاعدة البيانات ، فلو فشل برنامج السابق ، فبامكان المستخدم فتح ملف البيانات عن طريق برنامج الاستعلام الرئيسي الذي ياتي مع قاعدة البيانات واجراء كل الاستعلامات التي يحلم بها
ومن هنا ظهرت قواعد البيانات وظهرت ايضا لغة
SQL
المخصصة للاستعلام في قواعد البيانات ، وبدئت تتطور وانتقلت العديد من الشركات لاستخدامها ، نظرا لسهولة التعامل معها وسرعة برمجتها
ولكن مع زيادة حجم المؤسسات وبداية ظهور شبكات الكومبيوتر ، اصبحت قواعد البيانات بحاجة الى ان تعمل على اكثر من جهاز في نفس الوقت ، فتطورت برامج ادارة قواعد البيانات واصبحت قادرة على فتح نفس الملفات المخزنة في الجهاز المركزي من عدة اجهزة كومبيوتر في نفس الوقت ومن امثلتها
DBase
Paradox
وغيرهما
ولقد حل السابق بعض المشاكل ولكن ليس كلها ، لان مع زيادة حجم البيانات وزيادة عدد الاجهزة المتصلين بالشبكة اصبح صعب ادارة ملفات قاعدة البيانات المخزنة على الجهاز المركزي ، كما ان امنها كان معرض للخطر دائما ، فبامكان الجميع الوصول الى الملف المركزي الذي يحتوي على البيانات ويعبث به ، او حتى ان يصل الى بيانات لا صلاحية له باستخدامها
كما ان الاستعلامات المتزايدة على قواعد البيانات زادت من الضغط على الشبكة فكما تعلم يتطلب الاستعلام عن شخص ما ، يتطلب البحث في كل قاعدة البيانات حتى ايجاده بها
فعلى سبيل المثال : لو كان لديك جدول في قاعدة البيانات وبه معلومات عن عشرة الاف نوع من البضائع وطلبت ان من جهازك كل البضائع التي استلمت في تاريخ معين ، فعليا سيقوم جهازك باحضار العشرة الاف سجل في قاعدة البيانات الى جهاز وذلك عبر الشبكة وسيفلترهم ويفرز البيانات المطلوبة
ولكنه ضغط على الشبكة بالحصول على كل تلك المعلومات معا ، طبعا الشبكة قد تتحمل طلب او طلبين معا ، ولكن ماذا بالنسبة للبنوك مثلا ، هناك الاف السجلات وعشرات العمليات في نفس الوقت
ولذلك بدئت الحاجة الى تطوير قواعد البيانات العادية ، ومن هنا ظهرت قواعد البيانات المركزية ، فهي عبارة عن برنامج يعمل بداخل الجهاز المركزي ويخز البيانات فيه ايضا ولكن الاختلاف بينها وبين السابق ذكره ان طلب البيانات لا يتم الا من خلال البرنامج الذي يعمل في الجهاز المركزي والذي يسمى محرك قواعد البيانات المركزية ، وبذلك يكون قد تم فصل المستخدم النهائي عن الملف الرئيسي لقواعد البيانات
فلو كنت بحاجة الى استعلام معين ، فسيقوم برنامجك بطبل ذلك الاستعلام من محرك قواعد البيانات المركزية الموجود في الجهاز المركزي ، حيث بدوره سيقوم هو بالاستعلام ومن ثم يعطي النتيجة فقط للجهاز العادي الذي طلب الاستعلام وبذلك يكون قد انهى كابوس اغراق الشبكة بالبيانات
كما ان محرك قواعد البيانات الرئيسية مسؤول عن حماية البيانات ، فم قبل كان الجميع يستطيع الوصول الى كل البيانات المخزنة ، ولكن باستخدام النظام الجديد ، اصبح فقط من لديهم صلاحية الوصول قادرين على ذلك ، كما اصبح بامكان مدير الشبكة اعطاء صلاحيات مختلفة للمستخدمين ، فقد يمنع مستخدم من اضافة بضاعة جديدة على جدول البضاعة ويسمح له بالنظر عليها فقط ، وقد يمنعة نهائيا من الوصول الى جدول الموردين مثلا ، او فقط على جزء من جدول الموردين مثل عناوينهم او ارقام هواتفهم مثلا
كما ان محرك قواعد البيانات المركزية اصبح يقوم بعمليات النسخ الاحتياطي والحفاظ على البيانات من التلف اتوماتيكيا ، وذلك بفحصها باستمرار ونسخها على اشرطة النسخ الاحتياطي واعلام مدير النظام باية مشاكل صغيرة بداخلها
وهكذا استمر تطور قواعد البيانات المركزية الى يومنا هذا وظهر العديد منها في السوق مثل
Oracle 8
SQL Server 7
IBM DB2
SYbase
Informix
Borland IntraBase
مقارنة بينMicrosoft SQL ServerوبينOracle
عندما قررت قبل ثلاثة سنوات اعتماد نظام قواعد بيانات مركزية لاستخدمها في عملي ، كان يجب أن اختار بين اشهر الأنظمة المتوفرة في الأسواق ، وكانت في تلك الفترة
Microsoft SQL Server
و
Oracle
طبعا الخيار كان صعبا ، خصوصا لانه يتطلب وقتا كبيرا لتتقن استخدام نظام قواعد بيانات مركزية ، ولا يوجد لدي وقت لاتقن استخدام نظامين معا ، ولذلك كان على الاختيار بعناية
واليوم أجد صعوبة في شرحي لماذا اخترت هذا النظام عن ذاك ، نظرا لوجود شرط أساسي في اتفاقية التركيب لكل من البرنامجين السابقين ، حيث تمنعك الاتفاقية من أجراء اية مقارنات بدون مراجعة الشركة المصنعة لتلك الأنظمة ، ولهذا السبب يتعذر وجود مقارنات تفصيلية بين النظامين السابقين في إنترنت
لقد كانت معظم المقارنات سابقا تتعلق بسرعة اداء محرك قاعدة البيانات المركزية والحجم البيانات الاقصى الممكن ان تستوعبه ، ولكن مع تطور التكنولوجيا المستخدمة بها ، أصبحت الفروق في السرعة بين النظم المختلفة ضئيلة للغاية ، كما ان حجم التخزين وصل الى الحدود القصوى لسعة التخزين في جهازك ، أي بمعنى اخر تستطيع تخزين بيانات في قاعدة البيانات حتى يتملئ القرص الصلب او الأقراص الصلبة الموجودة في جهازك مهما كانت سعتها
ذلك لان النظم الجديدة تستخدم تكنولوجيا معقدة لحفظ واسترجاع البيانات ، حيث تستغل المعالج ووسائط التخزين لاقصى حد ممكن
ومع ذلك فهناك العديد من النقاط التي جعلتني افضل أحدهما عن الاخر ومن اهمها
سهولة تعلم استخدام النظام ودرجة تعقيده وسرعة بناء و إدارة قواعد البيانات به
تلكفة النظام ( تلكفة الشراء ، التركيب ، الصيانة ، الاستخدام عبر الشبكة ، وغيرهما)
سهولة تعلم استخدام النظام ودرجة تعقيده وسرعة بناء وادارة قواعد البيانات به
عندما حصلت على النسخ التجريبية من النظامين السابقين وركبت كل منهنا على جهازي وبدئت الاختبارات عليه ، وجدت صعوبة كبيرة في التعود على استخدام اوراكل ، فبدء بالنسبة لي كنظام ضخم ومعقد ، حتى انني واجهت مشاكل في استخدامه لاول مرة فقد طلب مني اسم المستخدم وكلمة السر والذي تطلب مني اسبوعا لإيجادهم ، اعتقد بانه كان يفترض ان توزعهم اوراكل مع النسخة التجريبية
ثم بدئت اواجه المصاعب واحدة تلو الأخرى ، فلقد بدء لى النظام غريبا ومختلف قليلا عن ويندوس ، وقد صعقت عندما فهمت انني بحاجة الى استخدام لغة
SQL
مباشرة لانشاء الجداول والتعامل مع البيانات ، بالطبع توفر اوراكل بعض البرمجيات الاضافية اليوم للقيام بذلك ، ولكنني لم اعتاد عليها بالقدر الكافي ، حتى انني لم اعلم في ذلك الوقت اين تخزن البيانات في القرص الصلب ، وكيف اصنع قاعدة بيانات جديدة والكثير من الاسئلة الاخرى التي لم استطيع ايجاد اجابة مباشرة عليها ، فانا اعلم منذ تعليمي في الجامعة ان اوراكل هو افضل نظم قواعد البيانات الموجودة ، وتذكرت عندها
Unix
والذي كان يحاول الجميع اقناعنا بانه الافضل ، هو صحيح الافضل في نظم التشغيل ، ولكنه ممتاز لدرجة انك لا تستطيع استخدامه في المؤسسات العادية
(هذه مزحة فقط)
فانت بحاجة الى كتابة الكثير للقيام بابسط العمليات ، وهكذا كان مع اوراكل ايضا ، حيث انني علمت فيما بعد انه اساسا صمم ل
Unix
ونقل بعد ذلك الى ويندوس ن ت
ولكن الامر اختلف كثيرا عندما ركبت النسخة السابقة في ذلك الوقت من
SQL Server
وكانت 6.5 ، لقد ارتحت كثيرا منذ اول تشغيل لي لذلك البرنامج ، فوجد بانني استطيع القيام بمعظم العمليات عن طريق برنامج واحد فقط ، ففرقت بسهولة بين قواعد البيانات المختلفة ومكان تخزينها وطرق النسخ الاحتياطي الخاص بها والكثير من الامور غيرها ، وعندما طورت النظام الى النسخة السابعة ورئيت التغيرات الضخمة والتسهيلات التي وجدتها به ، ازدادت سعادتي كثيرا
فانا قادر عن طريق برنامج الادارة
Microsoft SQL Server7.0 Enterprise Manager
القيام بكل العمليات التي ارغب بها بسهولة وسرعة عالية ، حيث يقدم لي كل ما احتاج لصناعة الجداول والاستعلامات والبرامج الصغيرة وغيرها ، كما انني استطيع ان اجعله بان يقوم بالعديد من الامور الاخرى اتوماتيكيا ، مثل فحص البيانات كل ليلة ونسخها احتياطيا واخباري عن ذلك يوميا عن طريق البريد الالكتروني ، وذلك في حال تواجدي في مكان بعيد ، بل اكثر من ذلك ، فباستطاعتي توجيه الأوامر اليه مباشرة عن طريق البريد الالكتروني وذلك ان كنت مسافر مثلا.
ولقد اكتشفت ايضا ان البرنامج قابل لاستخدام اللغة الإنجليزية ، فبمجرد بان تقوم بتوصيف الجداول في قواعد البيانات وشرحها للنظام ، فانت قادر على توجيه الاسئلة اليه باللغة الانجليزية مباشرة ، فتستطيع ان تسأله بلغة إنجليزية طبيعية ان يعرض لك أصناف البضائع ، او معلومات عن الموردين ، او ما يشابه ذلك ، وذلك عن طريق ال
English Query Language
المرفقة بالنظام نفسه
اما بالنسبة للوثائق التعليمية فقد ارفقت مايكروسوفت ما يزيد عن 10 الاف صفحة من الكتب مع ذلك النظام على قرص الليزر وذلك عن طريق
SQL Server Books On-Line
كما وجدت العديد من الوثائق في مواقع مايكروسوفت على انترنت مثل
support.microsoft.com
msdn.microsoft.com/library
msdn.microsoft.com/sqlserver
كل تلك الوثائق والمستندات ساعدتني بان اتغلب على اية مشكلة كانت تحدث مع
SQL-Server
دقائق بعد حدوثها ، عكس اوراكل والذي فشلت في ايجاد حل المشاكل التي واجهتني عند استخدامه عن طريق اوراكل في انترنت.
كل ذلك جعلني افضل
SQL-Server
كثيرا في تلك المقارنة
والبند الاخر الذي اثر كثيرا في المقارنة هي التكلفة
تلكفة النظام ( تلكفة الشراء ، التركيب ، الصيانة ، الاستخدام عبر الشبكة ، وغيرهما)
وبالمناسبة اليوم التكلفة هي العامل الاول الذي يستخدمه المقارنون بين قواعد البيانات المختلفة ، فالسعر عامل أساسي ويؤثر كثيرا في اختيار الإدارة لنظام ما عوضا عن نظام اخر وهذا ما يحدث في معظم المؤسسات الكبيرة ، فلو عرضت على المدير نظامين ، أحدهما يكلف ثلاثة الاف دولار والاخر قد يصل الى عشرة الاف دولار والاثنين قادرين على عمل العمل نفسه ، فلن يتردد باختيار الأرخص
قد يتدخل البعض ويقول بان الجودة والأداء مهمين للغاية ، وانا أوافقهم الرأي في ذلك ، ولكن على الجميع ان يتذكر بان العاملين السابقين لا يتجزءوا عن التكلفة إطلاقا ، فان لم يكن النظام جيد فقد تضطر إلى دفع مبالغ ضخمة لصيانته وتدريب الموظفين للعمل عليه ، كما ان الوقت الذي ستستغرقه في ذلك يكلف مبالغ أيضا
ماذا اقصد بالسعر بالضبط
أولا : تكلفة النظام نفسه
عند شرائك لمحرك قواعد بيانات مركزي فان تدفع مبلغ مقابل تشغيل ذلك النظام على الجهاز المركزي لديك وهو سعر النظام
فعند مقارنة الأسعار ستجد بان
SQL Server 7
يكلفك 2000 دولار ، وذلك للنسخة الكاملة الوظائف مع إمكانية استخدامها من عشرة مستخدمين عبر الشبكة في نفس الوقت
أما اوراكل 8 فسيكلفك حوالي خمسة الاف دولار وذلك للنسخة العادية مع امكانية استخدامها من خمسة مستخدمين عبر الشبكة في نفس الوقت
(هناك بعض التعديلات الان على أسعار اوراكل في محاولة لتخفيضها ، ولكنها تبقى مرتفعة)
لن تلاحظ هنا فرق كبير في السعر عند زيارتك لموقع اوراكل الجديد في انترنت، ولكن تذكر بانك تقارن نظامين بمميزات مختلفة ، فان حاولت مساواة المميزات في كلا منهم فستجد بان اوراكل سيرتفع سعره كثيرا عكس مايكروسوفت
SQL Server 7
والذي تحصل عليه وعلى كل مميزاته بالتكلفة ذاتها ، حيث لا توجد أسعار مخبئة بداخله
ثانيا : تكلفة استخدام النظام عبر الشبكة
كما يعلم البعض لا يكفي شرائك للنظام لتعمل عليه عن طريق الشبكة ، فانت بحاجة للحصول على رخصة استخدام للنظام عبر الشبكة وتسمى
Client Access License
حيث سيكلفك
SQL Server
تقريبا 2400 دولار لكل عشرين مستخدم عن طريق الشبكة ، 3000 دولار لعدد لانهائي من المستخدمين عن طريق إنترنت لكل جهاز
اما اوراكل فسيكلفك اكثر من ذلك بكثير ، هذا غير التكاليف المخبئة التي قد تظهر به فجأة
ثالثا : تكلفة التركيب والتشغيل والصيانة
لا أتستطيع ان أعطي أرقام لتلك التكلفة لأنها تتغير من مكان الى اخر ولكن استطيع الى ان أنبهك الى بعض النقاط وهي
كلما ازداد الوقت المطلوب للتركيب والتشغيل ، كلما ازدات التكلفة
كلما ازداد تعقيد النظام ، فستحتاج الى خبراء ذو خبرات اكثر وتكلفة اعلى
كلما قلت المستندات المتوفرة ، فسيزداد الوقت المطلوب لحل اية مشكلة وبالتالي ستتوقف أعمالك لمدة اطول وستتحمل خسارة اكبر
كما ان اوراكل تقدم خدمات مدفوعة للصيانة ، عكس مايكروسوفت التي تقدم قاعدة بيانات واسعة على انترنت تحتوي على الاف المشاكل وحلولها ، كما انها تصدر برامج صيانة وتطوير من مرتين حتى ثلاثة مرات كل عام وذلك مجانا
بدون حتى ان تسألك ان كنت تستخدم نسخة أصلية من النظام او حتى منسوخة
رابعا : تكلفة البرامج التي ستعمل من خلالها برامجك
كما يعلم الجميع فمن الصعوبة استخدام قاعدة البيانات المركزية مباشرةً عبر الشبكة ، فنحن بحاجة الى كتابة بعض البرامج لتعمل من خلالها على قاعدة البيانات تلك
ومن لغات البرمجة التي تقدمها مايكروسوفت والتي قادرة لبناء برامج مخصصة ل
SQL Server 7
منها
Microsoft Visual Basic 6
Microsoft Access 2000 Developer
ولغات البرمجة تلك تصنع برامج ممتازة ، والاهم انه مايكروسوفت لا تطلب مبالغ إضافية عن كل نسخة تبيعها من البرنامج المنتجة من لغات البرمجة تلك ، فانت حر بتوزيعها مجانا ان شئت
بالنسبة لفيجوال بيسك فهناك مجموعة ملفات
DLL
اساسية لتشغيل البرامج التي صنعت عن طريق تلك اللغة و توزعها برامج التركيب مجانا مع برنامجك
وبالنسبة لمايكروسوفت اكسس فهناك نسخة مخصصة لتشغيل البرامج المنتجة منك وهي
Microsoft Access Runtime
وان حر بتوزيعها مع برامجك مجانا
اما فالامر عند اوراكل فيختلف ، فهي تقدم طاقم برمجيات
Oracle Developer 2000, or R:2 or R:6
وتطلب اوراكل مبلغ من المال مقابل كل نسخة تبيعها من برنامجك الذي صنعته بلغة البرمجة تلك وذلك عن طريق بيع نسخة من
Oracle Developer Runtime
مع كل نسخة تبيعها من برنامجك ، والذي لا تستطيع برامجك و التي صنعت عن طريق اوراكل ، العمل بدونها
كل النقاط السابقة تلك تؤثر كثيرا على عملية اختيارك لقاعدة البيانات المطلوبة
هناك بعض الأمور الاخرى التي تزعجني عند اوراكل مثل سياسة الترخيص مثلا ، فيحق لاوراكل ان تزورك مرة على الاقل لتدقيق عملك ، وعليك فتح قاعدة بياناتك لها للنظر فيها ، كما تمنعك اوراكل إجراء اية مقارنات على سرعة أنظمتها بدون الرجوع اليها
عكس مايكروسوفت والتي تسمح في سياسة الترخيص لديها توزيع النظام المصغر من
SQL Server 7
والمسمى
Microsoft Data Engine
مجانا مع البرامج التي تصنعها
لا اريد ان ازعجكم بمقارنات اكثر ، فانا اخترت قبل مدة
SQL Server
وهناك من اختار
Oracle
وكل واحد حر في اختياره وطريقة مقارنته
ولننتقل الى صلب الموضوع ونبدء باستخدام
Microsoft SQL Server 7.0
أجزاء Microsoft SQL Server 7 وبعض المعلومات عنها
أجزاء
Microsoft SQL Server 7
وبعض المعلومات عنها
يتكون برنامج
Microsoft SQL Server 7
من عدة أجزاء مهمة مترابطة مع بعضها البعض ، مثل محرك قواعد البيانات ، ملفات التصليح ، شاشة الإدارة والمراقبة وغيرها من الأجزاء والتي سأحاول أن أشرح معظمها في مقالي هذا
والأجزاء هي
SQL Server Enterprise Manager
وهو البرنامج الأساسي الذي يقوم بإدارة النظام بالكامل ، فمنه تستطيع إنشاء قواعد البيانات ، ونسخها احتياطياً وإنشاء الجداول والاستعلامات ، وإعطاء الصلاحيات وغيرها من الأمور
ويقوم ذلك البرنامج بتصنيف أجزاء النظام إلى كائنات وخصائص لتلك الكائنات وذلك في شكل مشابه لشكل مستكشف الويندوس ، وذلك لتسهيل استخدامه من معظم المستخدمين
SQL Server Client Network Utility
وهو برنامج صغير يساعدك في توصيف أجهزة تحمل محرك قواعد بيانات ل
SQL Server
تجهيزا لإدارتها عن بعد عن طريق أل
Enterprise Manager
ويستخدم في حالة الحاجة إلى إدارة جهاز مركزي بعيد في شبكة أخرى كإنترنت مثلا
SQL Server Network Utility
يحدد البروتوكولات التي يمكن لمحرك قواعد البيانات من استخدامها لتوزيع البيانات على الشبكة الداخلية وعلى إنترنت
SQL Server Performance Monitor
وهي إضافة لنظام المراقبة الرئيسي الخاص ب
Windows NT
حيث تسمح لك تلك الإضافة مراقبة محرك قواعد البيانات المركزية عن طريق البرنامج السابق ، فعن طريقه تستطيع معرفة تفاصيل دقيقة عن عدد المتصلين بقاعدة البيانات في أوقات مختلفة ، أو عن حجم الضغط عليها ، عدد الطلبات ، حجمها في القرص الصلب ، الخ
SQL Server Profiler
برنامج رائع لمراقبة كافة أوامر أل
Transact SQL
المرسلة من المستخدمين إلى النظام المركزي ، فهو يعرض لك الأوامر المرسلة ووقت التنفيذ لحظة بلحظة ، و هو رائع لاستخدام المبرمجين
يمكن استخدامه لوحده أو كجزء من برنامج الإدارة الرئيسي
SQL Server Query Analyzer
إن رغبت بإصدار الأوامر مباشرةً إلى محرك قواعد البيانات المركزية عن طريق لغة
Transact SQL
فهذا هو البرنامج الذي سيساعدك في القيام بذلك ، ولكن لا يقتصر عمله على هذا فقط ، فهو قادر على احتساب الوقت المخصص لإجراء تلك الأوامر ، وغن كانت أوامر معقدة فهو قادر على تفكيكها ورسم خريطة رسومية لطريقة تنفيذها والوقت الذي ستأخذه كل خطوة بها ، وبذلك سيساعدك بإعادة كتابة الأوامر لتجعلها افضل أسرع
SQL Server Service Manager
وهو برنامج صغير يعمل مع تشغيل الجهاز ويبقى في شريط الأدوات بجانب الساعة ويخبرك عن حالة محرك قواعد البيانات المركزية ، أن كانت تعمل أم لا ، كما تستطيع بواسطته تشغيل وإيقاف محرك قواعد البيانات أو البرامج المترابطة معه
SQL Server Books Online
وهي مجموعة ضخمة من الكتب والمراجع حول كل ما يتعلق بذلك النظام بالتفصيل ، حوالي عشرة آلاف صفحة إن حاولت طباعتها ، أن كنت لا تصدق ذلك فحاول ، ما عليك إلا وان تضغط على زر الطباعة أعلى البرنامج ومن ثم تجلس بجانب الطابعة وتنتظر
SQL Server OLAP
هذا نظام آخر ضخم مرفق مع
Microsoft SQL Server 7.0
ويسمح لك بناء قواعد بيانات ثلاثية الأبعاد
(كما اسميها أنا)
وذلك باستخدام الجداول والبيانات من قواعد البيانات الموجودة مسبقاً ، وذلك بهدف تحليلها والحصول على تقارير منها ، ذلك البرنامج هو من التكنولوجيا الجديدة والتي ترفق مجانا مع
SQL Servers
وهو مكلف للغاية إن حاولت شرائه من شركات أخرى مثل اوراكل أو غيرها ، وسأقوم بشرح ذلك النظام وطريقة برمجته في المرحلة المتقدمة
هناك مجموعة أخرى من البرمجيات الصغيرة والمخصصة لمحبي استخدام شاشات
DOS
القديمة ، حيث تسمح لهم تلك البرمجيات بالقيام بعدة عمليات على النظام
كما أن هناك ثلاثة كائنات مخصصين لبرمجة النظام ، وتستطيع بواسطتهم القيام بكل ما يقوم به برنامج الإدارة المركزي وذلك بكل سهولة ، حيث تستطيع صناعة برنامج إدارة خاص بك لو رغبت بذلك
كما هناك أيضا برنامج
English Query Language
والذي سأشرح طريقة التعامل معه مستقبلاً ، وكما ذكرت من قبل فأنت تستطيع بذلك البرنامج إصدار الأوامر بلغة إنجليزية عادية إلى محرك قاعدة البيانات ، حيث سيقوم بتحليلها والإجابة عليك
تلك كانت البرامج التي يتكون منها
Microsoft SQL Server 7.0
وللتذكير معظمها مدمج في برنامج الإدارة الرئيسي لهذا النظام ، أي في
Microsoft SQL Server 7.0 Enterprise Manager
محرك قاعدة البيانات فيMicrosoft SQL Server 7 والكثير عنه
من الضروري التحدث قليلاً عن محرك قاعدة البيانات قبل بدئك باستخدام برنامج
Microsoft SQL Server 7.0
حيث سأحاول أن اشرح طريقة عمل ذلك المحرك وأجزائه وحدوده القصوى ، اعتقد بان ذلك معلومات مهمة على الجميع أن يعرفها ، أو على الأقل يعرف القليل عنها
يتكون المحرك الخاص بقاعدة البيانات من ثلاثة برامج معتمدة على بعضها البعض ، مع العلم أيضاً انه قادر على الاستغناء عنها والعمل لوحده ، ولكن ذلك سيقلل من مميزاته قليلاُ ، والأجزاء هي
MS SQL Server
محرك قاعدة البيانات ، وهو المسؤول عن كل العمليات على البيانات
SQL Server Agent
برنامج إدارة محرك قاعدة البيانات ، وهو يختلف عن البرنامج المخصص لإدارة كل النظام ، فصراحةً أنت لن تتعامل مع ذلك البرنامج مباشرةً ، فهو يتميز ببعض الذكاء الاصطناعي وهو مخصص لتنفيذ العمليات المجدولة حسب توقيت معين بداخل محرك قاعدة البيانات ، مثل إصلاحها وفحصها وإجراء النسخ الاحتياطية منها ، وكتابة التقارير حول قاعدة البيانات وغيرها
أنا شخصيا اسميه الطيار الآلي
Autopilot
وهو يساعدني كثيرا في الدارة قاعدة البيانات ، وبالمناسبة هو ما يميز نظامنا عن الأنظمة الأخرى الموجودة في الأسواق
Distributed Transaction Coordinator
وهو مخصص لربط محرك قاعدة البيانات بمحركات أخري وتقسيم الحمل بينهم وتنفيذ عمليات معقدة بينهم
وكلاهما مخصصة للعمل على شكل
Services
وتستطيع تشغيلها وإيقافها عن طريق لوحة أيقونة أل
Services
في لوحة التحكم
بالنسبة لمحرك قاعدة البيانات المركزية فهو يستخدم ثلاثة قواعد بيانات في عمله أهمهما قاعدة البيانات
Master
والتي يخزن بها المعلومات الأساسية عن كل النظام ، مثل أماكن قواعد البيانات الأخرى ، أسماء الجداول التي تحتوي عليها ، وأمور أخرى عديدة ، قاعدة البيانات تلك هي قاعدة بيانات صغيرة ، ولكن فقدانها يؤدي على فقدان النظام كله ، أي فقدان كل قواعد البيانات وكل البيانات التي بها ، لذلك يجب نسخها احتياطيا دوماً
ثاني قاعدة بيانات مستخدمة من المحرك هي
Tempdb
ويستخدمها المحرك كمخزن تخزين مؤقت ، وذلك في حال قيامه بعمليات طويلة ، وهي غير مهمة بالنسبة لنا ، فهو يقوم بمسح محتوياتها مئات المرات يوميا
ثالث قاعدة بيانات هي
Model
ويستخدمها النظام عند إنشاء قاعدة بيانات جديدة ، حيث يقوم بنسخ محتوياتها إلى قاعدة البيانات الجديدة ، وهي لا تهمنا أيضا ولا يجب نسخها احتياطيا ، إلا إذا كنا عدلنا عليها ، حيث نستطيع اعتماد مواصفات قياسية لكل قاعدة بيانات جديدة نصنعها ، ونستطيع تخزين تلك المواصفات في قاعدة البيانات تلك ومن ثم نصنع قواعد البيانات الخاصة بنا
أجزاء قاعدة البيانات
كما سنلاحظ مستقبلاً عند صناع أول قاعدة بيانات لنا ، سنلاحظ بان قاعدة البيانات تتكون من ملفين ، كل قواعد البيانات بدون استثناء
الملف الأول وامتداده
.mdf
وبه تخزن البيانات
والملف الثاني وامتداده
.ldf
وبه تخزن كل الحركات التي تتم على قاعدة البيانات
كما تستطيع قاعدة البيانات استخدام اكثر من ملف من النوع السابق معا وذلك بهدف تقسيم البيانات على عدة أقراص صلبة
ويستخدم محرك قاعدة البيانات الملفين معاً وذلك عند العمل على قاعدة بيانات ما ، والهدف من الملفين هو حماية البيانات إلى أقصى حد ممكن ، فعند تعديل قيمة حقل معين ، فيقوم المحرك بتسجيل ذلك في ملف الحركات والذي بدوره يحتوي على نسخة من كل البيانات التي أضيفت أو حذفت أو عدلت على قاعدة البيانات ، ومن ثم يسجله في ملف قاعدة البيانات الأصلية ، ومن ثم يسجل عملية الانتهاء في ملف الحركات
بحيث إن حدث وقطعت الكهرباء مثلا ، سيقوم المحرك بمقارنة العمليات في الملفين وإصلاح قاعدة البيانات
ولكن الموضوع لا ينتهي عند ذلك الحد ، فان تستطيع الطلب من محرك قاعدة البيانات بان يقوم بإلغاء كل التعديلات التي حدثت على قاعدة البيانات في فترة معينة ، أي آخر ساعتين مثلا ، وسيقوم هو بذلك باستخدام هذا الملف ، وسيرجعها كما كانت
أنا شخصيا استفدت من تلك المميزة كثيرا ، عندما وظفت مدخل بيانات في الشركة التي اعمل بها ، فأراد أن ينهي عمله سريعا ، ودمر جزء كبير من البيانات ، فلقد ألغيت كل ما قام به آخر ساعة ونصف ، وذلك بكل بساطة
الحدود القصوى لمحرك قاعدة البيانات
هذه مقارنة حصلت عليها من ملف المساعدة وتبين الحدود القصوى لكل من النسخة 6.5 والنسخة 7.0 من نظام
SQL Server 6.5
SQL Server 7.0
Configuration values
Minimum
Maximum
Minimum
Maximum
affinity mask
0
2,147483,647
0
2,147,483,647
allow updates
0
1
0
1
backup buffer size
1
32
N/A
N/A
backup threads
0
32
N/A
N/A
cost threshold for parallelism
N/A
N/A
0
32,767
cursor threshold
-1
2,147483,647
-1
2,147,483,647
database size
2
10,000
N/A
N/A
default language
0
9,999
0
9,999
default sort order id
0
255
0
255
extended memory size (MB)
N/A
N/A
0
2,147,483,647
fill factor (%)
0
100
0
100
free buffers
20
524,288
N/A
N/A
hash buckets
4,999
265,003
N/A
N/A
index create memory (K)
N/A
N/A
704
1,600,000
language in cache
3
100
3
100
language neutral full-text indexing
N/A
N/A
0
1
LE threshold maximum
2
500000
N/A
N/A
LE threshold minimum
2
500000
N/A
N/A
LE threshold percent
1
100
N/A
N/A
lightweight pooling
N/A
N/A
0
1
locks
5000
2,147,483,647
5000*
2,147,483,647*
LogLRU buffers
0
2,147,483,647
N/A
N/A
logwrite sleep (ms)
-1
500
N/A
N/A
max async IO
1
1,024
1
255
max degree of parallelism
N/A
N/A
0
32
max lazywrite IO
1
1,024
N/A
N/A
max server memory (MB)
N/A
N/A
4 *
2,147,483,647*
max text repl size
0
2,147,483,647
0
2,147,483,647
max worker threads
10
1,024
10
1,024
media retention
0
365
0
365
memory
2800
1,048,576
N/A
N/A
min memory per query (K)
N/A
N/A
512
2,147,483,647
min server memory (MB)
N/A
N/A
0*
2,147,483,647*
nested triggers (bytes)
0
1
0
1
network packet size
512
32,767
4,096
65,535
open databases
5
32,767
N/A
N/A
open objects
100
2,147,483,647
0*
2,147,483,647*
priority boost
0
1
0
1
procedure cache
1
99
N/A
N/A
Protection cache size
1
8,192
N/A
N/A
query governor cost limit
N/A
N/A
0
2,147,483,647
query wait (s)
N/A
N/A
-1
2,147,483,647
RA cache hit limit
1
255
N/A
N/A
RA cache miss limit
1
255
N/A
N/A
RA delay
0
500
N/A
N/A
RA pre-fetches
1
1,000
N/A
N/A
RA slots-per-thread
1
255
N/A
N/A
RA worker threads
0
255
N/A
N/A
recovery flags
0
1
N/A
N/A
recovery interval (min)
1
32,767
0
32,767
remote access
0
1
0
1
remote conn timeout
-1
32,767
N/A
N/A
remote login timeout
0
2,147,483,647
0
2,147,483,647
remote proc trans
0
1
0
1
remote query timeout
0
2,147,483,647
0
2,147,483,647
remote sites
0
256
N/A
N/A
resource timeout
5
2,147,483,647
5
2,147,483,647
scan for startup procs
N/A
N/A
0
1
set working set size
0
1
0
1
show advanced options
0
1
0
1
SMP concurrency
-1
64
N/A
N/A
sort pages
64
511
N/A
N/A
spin counter
1
2,147,483,647
1
2,147,483,647
tempdb in RAM (MB)
0
2,044
N/A
N/A
time slice
50
1,000
50
1,000
Unicode comparison style
N/A
N/A
0
2,147,483,647
Unicode locale id
N/A
N/A
0
2,147,483,647
user connections
5
32,767
0*
32,767 (server)*
user options
0
4,095
0
4,095
* Lower or upper limit for objects allocated dynamically.
الحدود العليا
Maximum Capacity Specifications
This table specifies the maximum sizes and numbers of various objects defined in Microsoft® SQL Server™ databases, or referenced in Transact-SQL statements.
Maximum sizes/numbers
Object
SQL Server 6.5
SQL Server 7.0
Batch size
128 KB
65,536* Network Packet Size
Bytes per short string column
255
8000
Bytes per text, ntext, or image column
2 GB-2
2 GB-2
Bytes per GROUP BY, ORDER BY
900
8060
Bytes per index
900
900
Bytes per foreign key
900
900
Bytes per primary key
900
900
Bytes per row
1962
8060
Bytes in source text of a stored procedure
65025
Lesser of batch size or 250 MB
Clustered indexes per table
1
1
Columns in GROUP BY, ORDER BY
16
Limited only by number of bytes
Columns or expressions in a GROUP BY WITH CUBE or WITH ROLLUP statement
10
10
Columns per index
16
16
Columns per foreign key
16
16
Columns per primary key
16
16
Columns per base table
250
1024
Columns per SELECT statement
4096
4096
Columns per INSERT statement
250
1024
Connections per client
Max. value of configured connections
Max. value of configured connections
Database size
1 TB
1,048,516 TB
Databases per server
32,767
32,767
Filegroups per database
N/A
256
Files per database
32
32,767
File size (data)
32 GB
32 TB
File size (log)
32 GB
4 TB
Foreign key table references per table
16
253
Identifier length (in characters)
30
128
Locks per connection
Max. locks per server
Max. locks per server
Locks per server
2,147,483,647
2,147,483,647 (static)
40% of SQL Server memory (dynamic)
Nested stored procedure levels
16
32
Nested subqueries
16
32
Nested trigger levels
16
32
Nonclustered indexes per table
249
249
Objects concurrently open in a server*
2 billion
2,147,483,647
Objects in a database*
2 billion
2,147,483,647
Parameters per stored procedure
255
1024
REFERENCES per table
31
63
Rows per table
Limited by available storage
Limited by available storage
SQL string length (batch size)
128 KB
128* TDS packet size
Tables per database
2 billion
Limited by number of objects in a database
Tables per SELECT statement
16
256
Triggers per table
3
Limited by number of objects in a database
UNIQUE indexes or constraints per table
249
249 nonclustered and 1 clustered
* Database objects include all tables, views, stored procedures, extended stored procedures, triggers, rules, defaults, and constraints. The sum of the number of all these objects in a database cannot exceed 2,147,483,647.
تركيب برنامجMicrosoft SQL Server 7
تركيب برنامج
Microsoft SQL server 7.0
و أجزائه هي أول العمليات التي يجب أن نقوم بها قبل استخدامه ، وذلك في حال عدم وجوده في جهازنا ، والتركيب هي عملية بسيطة للغاية ، فبمجرد وضع القرص الليزر في جهازك فستشتغل شاشة التركيب أتوماتيكيا وذلك بإعطائك خيارات للتركيب
يجب عليك أولاً أن تتأكد من إمكانية تركيب ذلك البرنامج على جهازك ، وذلك باختيار الخيار الأول للتركيب وهو تركيب البرامج التي يجب أن تسبق عملية تركيب
Microsoft SQL Server 7.0
بالنسبة للأجهزة العاملة بأنظمة ويندوس ألفين ، فتستطيع أن تتخطى تلك المرحلة بها ، وتذهب إلى مرحلة التركيب الرئيسية
أما إن كان الجهاز الذي ترغب بتركيب النظام عليه يعمل على
Windows NT 4
فعليك أن تركب أخر نسخة من متصفح الإنترنت في جهازك ، وغالباً ما ترفق تلك النسخة مع قرص الليزر
أما إن كان جهازك يعمل ب ويندوس خمسة وتسعون ، فأنت بحاجة إلى تركيب بعض البرمجيات الإضافية والتي سيعرضها النظام عليك ، ولا أعتقد بان مستخدمي ويندوس ثمانية وتسعون سيحتاجوا إلى تركيب اية شيء إضافي ، ولك يفض المرور على ذلك الخيار والفحص
وعند التأكد بان جهازك مستعد لاستقبال أل
SQL Server
تستطيع عندها الذهاب إلى الشاشة الثانية في برنامج التركيب وتحتوي على ما يلي
Database Server – Standard Edition
وهو النظام الكامل ومخصص للتركيب على الأجهزة المركزية فقط ، أي انك تستطيع تركيبه على
Microsoft Windows NT Server 4.0
أو
Microsoft Windows 2000 Server or Advance Server
وتحتوي تلك النسخة على كافة المميزات وهي أسرع من النسخ السابقة ويمكن استخدامها من عدد غير محدود من المستخدمين على الشبكة
(العدد الذي لديك ترخيص من اجله)
Database Server – Desktop Edition
نسخة للأجهزة العادية وتستخدم من المبرمجين غالباً وتحتوي على كل المميزات ولكن استخدامها على الشبكة محدود ، فبعض النسخ تسمح بخمسة مستخدمين وبعضها بمستخدمين وبعضها لا يسمح ، حيث يجب مراجعه الأوراق الخاصة بالنسبة لمعرفة عدد المستخدمين الأقصى
كما تفتقر تلك النسخة لبعض المميزات البسيطة والمتقدمة مثل مميزة
Full text search
وبعضها لا يحتوي على أل
Replication
وبعضها يحتوي عليه
SQL Server 7.0 OLAP Services
وهو نظام التحليل المتقدم المرفق مع النظام ، أنا اسميه قواعد البيانات الثلاثية الأبعاد ، أو المجسمة ، فهو يجمع مجموعة من الجداول من قاعدة البيانات ويعرضها على شكل مكعب ، بدلاً من شكل الجدول الذي اعتدنا عليه
English Query
ويسمح ذلك البرنامج لك بإمكانية توجيه أوامر بلغة إنجليزية بسيطة إلى محرك قاعدة البيانات ، بدلا من استخدام لغة
SQL
ويمكن استخدامه مباشرةً ، أو ممكن أن تدمجه في برامجك أو في صفحات الإنترنت الخاصة بك
تركيب
Database Server – Desktop Edition
لا تختلف طريقة تركيب النظامين السابقين عن بعض ، كما لن امشي معك خطوة بخطوة في عملية التركيب ، لأنها عملية تركيب عادية ، ولكنني أريد أن ألفت انتباهك إلي بعض النقاط أثناء التركيب
هناك طريقتين للتركيب وهما تركيب محلي وتركيب على جهاز أخر عن طريق الشبكة وهما
Local or Remote Installation
وفي معظم الأحيان نقوم بتركيبه في جهازنا ، ولكن أن قررنا تركيبه في جهاز آخر عن طريق جهازنا ، فيجب أن يكون ذلك الجهاز ملقم شبكة ، ويجب أن تكون لدينا صلاحيات مدير عليه
ككل البرامج الأخرى سيطلب منك إدخال الاسم واسم الشركة ورقم النسخة
هناك ثلاثة خيارات للتركيب
Typical
تركب معظم الخيارات المخصصة لكل المستخدمين ولكن لا تركب كل أجزاء البرنامج
Minimum
تركب البرمجيات الأولية المسئولة عن تشغيل أل
SQL Server
وهي في معظم الأحيان محرك قاعدة البيانات وبعض الملفات الخاصة به فقط
ملاحظة : لا تركب الكتب وبرامج الإدارة
Custom
أنت حر باختيار ما يركب من إضافات على جهازك
سيطلب منك النظام تحديد أماكن الملفات ، مكان تخزين البرامج ومكان تخزين البيانات ، يفضل أن تخزن البيانات في أقراص صلبة سريعة
لغة قاعدة البيانات
كن حريص هنا ، فأنت تختارها لمرة واحدة فقط ومن ثم لا تستطيع تغير ذلك الخيار ابدأ ، يطلب منك النظام لوحة المحارف التي سيخزن عن طريقها البيانات في الجهاز ، كما هناك بعض الخيارات الأخرى التي لا انصح المبتدئين بتعديلها
أن كنت ترغب بالكتابة بالعربية في قاعدة البيانات الخاصة بك ، فافضل شيء أن تختار لوحة المحارف
Multilingual (850)
في القائمة العليا و
Unicode
في القائمة السفلى ، وبذلك ستضمن عمل برامجك بدون مشاكل مع اللغة العربية
صراحةً يمكن الكتابة باللغة العربية في قاعدة البيانات حتى ولو انك لم تختار تلك الخيارات ، ولكنك ستواجه الكثير من المشاكل مع بعض البرامج التي ستعمل مع قاعدة البيانات تلك
سيطلب منك النظام أن تحدد اسم مستخدم وكلمة سر خاصة به ، أن كنت ترغب بمراقبة قاعدة البيانات والملفات التي تصل إليها ، فتستطيع أن تصنع لها اسم مستخدم بصلاحيات مدير وكلمة سر ، وتعرفهم في شاشة التركيب ، وبذلك سيعامل النظام محرك قاعدة البيانات كمستخدم منفصل ، أما إن كان نظام مراقبة الشبكة لديك لا يتطلب التعقيد السابق ، فتستطيع الاختيار بان تعمل كجزء من النظام
هذه أهم نقاط عملية التركيب
أما بالنسبة للبرنامجين الآخرين ، فتركيبهما لا يتطلب أية تعقيدات على الإطلاق
بعد الانتهاء من عملية التركيب وإعادة تشغيل الجهاز ، أنصحك بزيارة إنترنت و إنزال آخر برامج إصلاح أل
Microsoft SQL Server 7.0
أخر نسخة تصليح متوفرة هي
Service Pack 2
حيث ستساعدك تلك البرامج في إصلاح العديد من المشاكل في ذلك البرنامج
ولكن قبل أن تقوم بذلك يجب أن تتأكد من رقم النسخة الخاصة بك ورقم آخر تعديل في إنترنت ، حيث تقوم مايكروسوفت دائما بدمج تلك التعديلات في نسخة التركيب الرئيسية
والتأكد من ذلك الرقم عليك الذهاب إلى القائمة
Help -> About
وتنظر رقم أل
Service Pack
التي بها ، وان لم يوجد ، أو كان الرقم اقل من الرقم الموجود في إنترنت ، فعليم إنزال النسخة من إنترنت
دارةMicrosoft SQL Server 7.0عن طريق أل Enterprise Manager
اعتقد بانه حان الوقت للقيام بأول تشغيل لل
SQL Server 7.0
للقيام بذلك اذهب الى
Start -> Programs -> Microsoft SQL server 7 -> Enterprise Manager
وستظهر لك الشاشة التالية
وهي عبارة عن برنامج التحكم الرئيسي بقاعدة البيانات المركزية ، وعن طريقة تستطيع ان تتحكم بكل الاجهزة المركزية التي تحتوي على
SQL Server 7
وذلك ان كانت هناك اجهزة اخرى غير جهاز في الشبكة
سيلاحظ العديد بان ذلك البرنامج مشابه في طريقة عمله للعديد من برامج مايكروسوفت الاخرى المخصصة للشبكات ، نعم ذلك صحيح ، فلقد بنيى برنامج الادارة ليعمل بداخل نظام
Microsoft Management Console (MMC)
وهناك العديد من البرامج التي تعمل تحت ذلك النظام اليوم ، ومن اهم مميزات ذلك النظام انه يمكننا بدمج مجموعة من البرامج معا مثل دمج برنامجي
Sql Server 7.0
و
Transaction Server
مثلا
ولذلك ستجدوا بان القائمة الرئيسية لبرنامج الادارة لا علاقة لها بال
SQL Server
ولكنها مخصصة لاغلاق البرنامج وللتحرك بين برامج الادارة المختلفة وللحصول على المساعدة حول برنامج الادارة وليس حول ال
SQL Server 7.0
وسنتحدث عن دمج البرامج مع بعضها البعض وادارتها عن طريق نظام موحد في اجزاء قادمة من رسائلنا
اما القائمة الثانية فهي الخاصة بادارة نظامنا
وتلك القائمة ديناميكية ، أي ان محتوياتها تتغير حسب العمل الذي نقوم به بداخل ال
SQL Server
وذلك يتعلق كثيرا باول قائمة وهي
Action
فهي الاكثر تغيرا
اما بالنسبة لقائمة
Tools
فهي ثابتة وتحتوي على بعض العمليات المهمة والمخصصة لدعم النظام
يتكون برنامج الادارة كما لاحظنا في الرسمة السابقة من شجرة كائنات و خصائص تلك الكائنات ، وتلك الشجرة مقسمة بطريقة منطقية للغاية ، فترى اعلاها
Microsoft SQL Servers
حيث توجد تحتها مجموعات الاجهزة المركزية وذلك ان كان لدينا العديد من الاجهزة المركزية ، كما توجد في كل مجموعة الاجهزة المركزية التي بها
وفي مثالنا السابق هناك مجموعة واحدة وجهاز مركزي واحد
ويحتوي كل جهاز مركزي على مجموعة من الكائنات مقسم تحت اربعة فروع رئيسية وهما
Databases
|_ master
|_ model
|_ tempdb
|_ …
Data Transformation Services
|_ Local Packages
|_ Repository Packages
|_ Metadata
Management
|_ SQL Server Agent
|_ Backup
|_ Current Activity
|_ Database Maintenance Planes
|_ SQL Server Logs
|_ Web Publishing
Security
|_ Logins
|_ Server Roles
|_ Linked Servers
|_ Remote Servers
Support Services
|_ Distributed Transaction Coordinator
|_ SQL Mail
ويحتوي كل كائن من تلك الكائنات خصائص او عمليات ممكنة عليه ، كما انه قد يحتوي على كائنات فرعيه تحته
وساتطرق في شرحي هذا عن نبذة بسيطة عن كل مجموعة وعن الكائنات التي تحتويها ، وذلك لتسهيل فهم النظام عند الشرح المتقدم
الفرع الاول
Databases
ويحتوي على جميع قواعد البيانات المخزنة في الجهاز المركزي ، ولكنه يحتوي ايضا على ثلاث قواعد بيانات مهمة واساسية ولا يستطيع النظام بدونها القيام باية شيئ ، كما ان ضياع احدهم قد يعطل النظام
Databases
|_ master
وهي قاعدة البيانات التي تخزن بها كل المعلومات عن النظام وعن قواعد البيانات الاخرى و ضياع قاعدة البيانات تلك يؤدي الى ضياع النظام باكمله ، ولذلك علينا المحافظة عليها ونسخها احتياطيا بانتظام
Databases
|_ model
تحتوي على الشكل الاول لقواعد البيانات الجديدة التي سنصنعها ، فلو كان لدينا مواصفات قياسية في المؤسسة التي نعمل بها ، وتطلبت تلك المواصفات بان تحتوي كل قاعدة بيانات جديدة نصنعها على مجموعة معينة من الكائنات ، فنستطيع وضعهم هنا ، وعند صناعة قاعدة بيانات جديدة ستنتقل تلك الكائنات اليها
Databases
|_ tempdb
وهي المخزن المؤقت لبيانات
SQL Server
فلو طلبنا مهمة معقدة سيقوم النظام بتخزين البيانات التي سيعمل عليها في قاعدة البيانات تلك ، وسيجرى ما طلب منه ، وبعد ذلك سيعطنا النتائج وسيحذف البيانات من قاعدة البيانات تلك
الفرع الثاني
Data Transformation Services
|_ Local Packages
|_ Repository Packages
|_ Metadata
ويحتوى على الكائنات المسؤلة عن تبادل البيانات بين الاجهزة المركزية ، وذلك لتوحيد ادارة البيانات في المؤسسات الضخمة
وبطبيعتها تحتوي على ثلاثة انواع من الزرم و هي الجزء الاساسي في نظام تبادل البيانات ، حيث تحتوي كل رزمة على مخطط تبادل للبيانات ، حيث يجب ان يتم تبادل البيانات عن طريق ذلك المخطط ، سنقوم بشرح ذلك مفصلا في الاجزاء المتقدمة من رسائلنا وذلك لاننا سنستخد لغة الفيجوال بيسك لتكوين تلك الرزم
الفرع الثالث : الادارة
Management
يحتوي ذلك الفرع عن كل ما يخص ادارة قاعدة البيانات المركزية بصفة عامة
Management
|_ SQL Server Agent
وكيل محرك قاعدة البيانات ، او كما اسميه الطيار الالي ، فهو الذي يساعدك في جعل امور ادارة النظام سهلة ، حيث تستطيع برمجته بالقيام بالعديد من الامور بدون تدخلك
Management
|_ Backup
النسخ الاحتياطي ، هنا تعرف اجهزة النسخ الاحتياطي والتي سيستخدمها النظام
Management
|_ Current Activity
مراقبة العمليات الحالية على البيانات
Management
|_ Database Maintenance Planes
يحتوي على مخططات الصيانة الدورية على قواعد البيانات ، فكما يعلم البعض تحتاج قواعد البيانات الضخمة والتي تعدل باستمرار على صيانة يومية مثل اعادة فهرسة مفاتيح الجداول ، فحص تكامل قاعدة البيانات وغيرها من الامور
Management
|_ SQL Server Logs
يحتوي على معلومات عن العمليات الاساسية التي قام بها ال
SQL Server
مثل متى تم تشغيله ، متى استخدمت قاعدة بيانات معينة ، او هل هناك مشاكل قد حدثت ، وامور اخرى
Management
|_ Web Publishing
لربط قاعدة بيانات ما مع صفحات ويب ، بحيث تستطيع ان تصنع صفحات ويب ستاتيكية ، تعدل كلما عدلت البيانات في قاعدة البيانات ، او كل فترة زمنية معينة وذلك لتخفيف الضغط على محرك قواعد البيانات المركزي
الفرع الرابع : النظام الامني
Security
ويحتوي على الكائنات المسئولة عن حماية قاعدة البيانات وتوزيع الصلاحيات
Security
|_ Logins
يحتوي على مستخدمي قاعدة البيانات وكلمات السر الخاصة بهم
Security
|_ Server Roles
المستخدمين مقسمين الى مجموعات لتسهيل عملية الادارة
Security
|_ Linked Servers
اجهزة مركزية اخرى تحتوي على نظام
SQL Server
مرتبطة مع جهازنا وصلاحياتنا عليها
Security
|_ Remote Servers
ادارة الصلاحيات على اجهزة مركزية مرتبطة بنا
الفرع الخامس : خدمات داعمة للنظام
Support Services
هناك بعض البرامج المساعدة لقاعدة البيانات المركزية
Support Services
|_ Distributed Transaction Coordinator
تخفيف الحمل على المعالج وتوزيع العمليات على اجهزة اخرى
Support Services
|_ SQL Mail
نظام الادارة عن طريق البريد الالكتروني ، وهو احد الاشياء المثيرة في
SQL Server
حيث يمكنك من ادارته عن طريق البريد الالكتروني ، فلو سافرت ونسيت بان تقوم بنسخ احتياطي لقاعدة البيانات ، فتستطيع بان تتوجه الى اية مقهى انترنت وترسل بريد الى الجهاز المركزي تطلب منه ذلك
بل اكثر من ذلك ، فان قادر على توجيه الاستعلامات اليه ، فقد تطلب معلومات عن الزبائن من قاعدة بيانات الزبائن ، او غيرها من المعلومات
منقول