تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تعلم ال Policy-mangment في ال SQL Server خطوة بخطوة
#1
Policy-Based Management: - نظام ادارة واعتماد السياسات ((تطبيق القوانين)) في ال SQL Server واختصاراً لها تكتب هكذا ((PBM))
[SIZE=3]المقدمة:-
Policy-Based Management هو عبارة عن عناصر تقدم امكانيات تقيد ال SQL Server ويجبرة عل التصرف بما نريد او بالاحرى تحديد امور ومتطلبات اساسية يحددها مدراء قواعد البيانات (( DBA )) تسيطر وبشكل اساسي على كيفية سير مجريات ال SQl Server مما يمنع التلاعب المستخدمين ان افكار تطبيق السياسات او ال Policy جائت من حاجة ومتطلبات انضمة التشغيل التي تعمل عمل شبكي لتقيد المستخدمين وصلاحياتهم اما الان فال SQL Server 2008 يمتلك هيكلة مستقلة للسماح بتقيد وتهيئة محتوياته ومستخدمية بصورة مركزية وبشكل تلقائية من قبل ال Administrator مما يساعد على استخدام اسلوب السيطرة المركزية والتلقائية
لنعلم ماسوف نخرج بة في نهاية الكتاب
سوف نتعلم تعريف (( PBM )) وما يحتوية من مكونات ثم سوف ندخل في صميم انشاء Policy من البداية حتى النهاية مع الامثلة المصورة وبعد ان انشاء هذه السيايات سوف نتعلم كيفية تتم السيطرة والادارة من قبل سيرفر واحد الى كافة السيرفرات الملحقة فيه
في النهاية سنخوض في التفاصيل المطلوب اتباعها دائماً او التي يفضل اتباعها
على بركة الله لنبدأ
البداية مع ال Policy-Based Management
Policy -Based management كذالك يعرف سابقاً بأسم ال Declarative management Framework في الاصدار سكوال 2005 او يكتب اختصاراً ((DMF)) لو نحاول ترجمة العنوان التالي سوف يكون بمعنى الاعلان عن منصة الادارة او بيئة الادارة
هذه العبارة قد تكون مهمة لكل من ادى امتحان ال MCTS Implementation and Maintenance
لانه اخذها على شكل موضوعين منفصلين لكن عندما نعود للتدقيق نجد ان الهدف والغرض واحد من انشاء DMF باستخدام ال Policies
بالنهاية المصطلحين او القواعد التي بنيت على اساسها هذو المواضيع واحد وهو السماح بتنفيذ ادارات معينة من خلال استخدام السياسات Policies على خادم ال SQL Server.




لنتعرف على فوائد استخدام ال PBM
1- Automatic Evaluation التقيم التلقائي يمكننا عمل جدولة للتحق من ان المستخدمين لم يقوموا بمخالفة ما اقرة مدير قاعدة البيانات وبالتالي في حال المخالفة تنبية المدير بهذا الامر لغرض للتاكد من اذعان السيرفر الخاص بنا للpolices او السياسة التي رسمها ال DBA والتأكد من حذف الاخطاء البشرية التي من الممكن ان تحدث بدون قصد
2- Polices Reuse اذا كنت لاتستخدم خاصية السيرفر الرئيسي والذي يتحكم بالسيرفرات الاخرى فتتيح لك هذة الخاصية تصدير ملف ال Policies الى ال سيرفات الاخرى حيث يكون الملف عبارة عن XML والذي سوف يمثل ال Policy الذي يتحكم بال SQL Server الاخر بدون الحاجة الى اعادة العمل مرة اخرى
3- Automatic Enforcement العديد من السياسات قد تمنع تقائياً من انشاء حدث معين وبالتالي الحفاظ على السيطرة المركزيه
4- Surface Area Configuration قد يكون هذا المصطلح ليس غريباً على مسامعكم انة الواجهات الخاصة بالتحكم بال service في الاصدار SQL 2005 وقد يتسائل البعض لماذا مايكروسوفت قد حذفت هذة الواجهات في الا صدار 2008 والجواب يكمن في ان PBM يعتمدها كماصدر شروط وقد حلت محلها الواجهة SQL Server Configuration Manager .حيث يمكن استخدام ال SP_Configure مباشرةً او استخدام ال PBM للتحكم فيها كا تكلمنا كما سنرى ان شاء الله تعالى
5- Centralized Policy Management بصورة مختصرة لنتخيل هذة النقطة يمكن تنفيذ السياسات على السكوال واحد او على مجموعه مرتبطة مع بعظها SQl Server وسنتعرف لاحقاً على كيفية تكووين هذه الحالة.
كما ترى العديد من الفوائد التي تقدمها ال PBM حيث يقدم العروض الكثيرة لمدراء ال SQL لضط تصرفات ال SQL او مستخدمينال SQL.
الشيء الذي يجب ان لانتخيلة عدم صعوبة تعلم ال PBM حيث يجب ان نففهم النقاط التي تكون هيكلية ال PBM والنتيجة ستكون مرضية.
اما عن النقاط الواجب فهمها في الموضوع فهي كالتالي:-
1- PBM Components مكونات السياسات
2- Creating Condition خلق الشروط الواجبة على السياسات اتباعها
3- Creating Policies خلق السياسات

4-Evaluating policies تقيم الية عمل السيايات كيفية التحقق او اطلاق الحدث للتحق من ان ال Server لم يذعن للسياسات(( القوانين المعمولة))
ناتي الان الى شرح كل خاصية على حدة حتى تجتمع الافكار لدينا
1- PBM Components
تشمل ال PBM العديد من المكونات منها ال Facets , conditions , Policies ,Categories , Target حيث تمثل هذة المكونات المتطلبات التي يجب ان نعمل فيها لانشاء واتمام ال Policy
لنشرح كل نقطة على حدة
1- Facets
هو عبارة عناصر تكوين الخصائص (( عناصر تحمل خصائص ال SQL Server)) اعتقد ان المقدمة واضحة جداً في الشرح عناصر تم تخزينها في ال SQL تحتوي على امكانيات تغير الخصائص او تكوين خصائص يريد منها المدير تقيد ال Server الخاص فية بها.
ان ال SQL Server يحتوي على 74 facets وان هذا العدد في زيادة في الاصدار 2008 R2 وهي غير قابلة للحذف او التعديل ويمكن سحبها والتعامل معها من خلال تقيدها بشروط او كما سنطلق علية Condition
ال Facets ممكن ان تكون Read / Write وهي من الممكن ان نستخدمها في ال PBM لتقيد الاعمار او من الممكن ان تكون read Only وهي تستخدم لاتمام عملية المراقبة للسيرفر وبالتالي تبليغ المدير بما يجري.
ولمشاهدة الfacets الموجودة على السيرفر خاصتك
بعد تشغيل ال SSMS نذهب ال object explorer ومن ثم Policy Management ومن ثم ال facets كما في الشكل التالي
[b]

يتبع......

[/b][/SIZE]
مدونتي
صفحتي على الفيسبوك

MCTS SQL Server 2008
MCSA SQL Server 2012
Microsoft Certified Trainer
SharePoint Administrator
الرد }}}
تم الشكر بواسطة:
#2
2- conditions
لنعرفة بشكل بسيط هو عبارة عن الظروف التي سوف تعمل بها خصائص ال facets لاتمام بشرط معين مثلاً لنفرض اننا لانريد تسيجة Table في ال SQL الخاص فيها بالاسم ((TBLL)) ان هذة الظروف او مايسمى بمنهجنا العلمي Condition لها 4 خواص يجب ان نفهمها
1- Name :- وهو ما تريد ان تطلقة على ال condition من اسم لتستخدمة فيما بعد ويفضل ان تبدا بالتسمة بأستخدام الرمز Cond(( على سبيل التفضيل لا اكثر ))
2- Facet :- عناصر تكوين الخصائص اي لكلCondition يجب ان يوجد Facets
3- Expression :- تقيم الحالة التي يجب من خلالها انطلاق الشرط او بمعنى اخر الجمل الشرطية التي توضع لعمل ال facet في حال كان الجدول يبدا بالتسمية TBLL امنع المستخدم
4- Description:- اعتقد ان العنوان واضح وهو وضع نص تفصيلي عن الحالة التي اعتمدناها على انشاء ال Condition
لاحظ كيفية انشاء condition جديد شغل ال SSMS ومن ثم ال management ومن ثم ال Policy Management من ثم كلك يمين New Condition كما في الصورة التالية لاتقلق سنطبق كل الافكار في النهاية

نأتي الان الى شرح هذة الواجهه وخصوصاً الخاصية Expression

  1. الخاصية And & OR اي من الممكن ان يكون اكثر من Fact في نفس ال Condition كما اننا نعرف ما الفرق بين الجملتين لنتخيل المثال التالي عندي اصدقاء واريد ان اطلب منهم طلباً معين لنتخيل الجملة التالية اذهب ياعمر او يا علي الى السوق يعني في حال ذهب احدها الى السوق فانني سوف ارضى او يكون طلبي مستجاب اما ان قلت اذهب ياعمر مع علي فيجب على الاثنان الذهاب في حال ذهب احدهما فانا لن ارضى وهنا الحالة تعني ال and نفس الموضوع يتكرر هنا اما ان ينفذ الخصائص التي تم تعينها جميعها او بعظها اما الاولى فتعني ال OR

2- الخاصية Field وتعني ضبط الخصائص لل Facets المختارة عند اختيار fact معين يحمل الكثير من الخصائص
3- الخاصية Operator وفيها العديد من الاختيارات اي ان تنفيذ العمليات يتم في حالة
4- اما الخاصية Value فهي تحدد مايجب عملة مع هذا الشرط ال Condition وتأخذ اما قيم رقمية او Object معينة كما نرى في الصورة اعلاة او تأخذ قيم ال True& False او تأخذ نص لكن في حال استخدمنا النص يجب وضع ال ‘ النص ‘وسنأخذ مثال على الحالة
3- Policies
يقوم ال police باختبار ال Condition هل هو صحيح ام خطأ وفقاً للظروف ال Condition التي وضعناها مسبقاُ سنتعرف في البداية على اهم الخصائص المتعلقة بال policies




1- Name :- اسم يعطى للPolicy ويفضل ان يكون واضح وكمقترح نبدأ التسمية بال رمز POL ثم نتبعه بأسم
ال Condition (( على سبيل التفضيل لا اكثر ))

2- Enabled :- تفعيل والغاء تفيل السياسات ال Policies
3- Check Condition :- يقوم بربط ال condition مع ال policy وذالك لتقيم الاداء
4- Evaluation :- تقيم متى سوف يتم تنفيذ السياسات او اليات عملها
وتاخذ اربع حالات سنشرحها بأيجاز

  1. On Demand: – وتعني ان يتم التحقق من توافق ال SQL Server للسيايات الموضوعة له عند الطلب (( عملها عمل يدوي )) ولو نلاحظ ان خاصية ال Enable تكون غير مفعلة لانها تكون خاضعه لارادة المدير الخاص بالسيرفر وتستخدم لاغراض الاختبارات اي ان مدير قواعد البيانات


  1. On Schedule: – تستخدم هذة الحالة في حال انشاء اوقات وجدولة معين يتم من خلالها توقيت عمل ال Policy والاستخدام الشائع لها اثناء اختيار ال facets من نوع read-only لأغراض المراقبة كما قلنا مسباقاً ((الاستخدام الشائع وليس الواجب))

  1. On Change: Log Only: – وتستخدم لتسجيل الاحداث التي لم تصغي الى policy يتم اظهار خطأ في ال سجل الاخطاء الخاص بال SQL Server لتنبية ال Admin
  2. On Change: Prevent: – كما في السابق لكن المنع هنا يحدث مباشرةً بعد عدم الاذعان الى السياسة (polices) المحددة


الشيء المهم الذي يجب ان نفكر فية هو ماهو ال Evaluation المناسب الذي يجب ان نسخدمة لاعطائنا النتائج المناسبة .
طيب الان سوف افصل لك المجاميع التي تعمل مع ال Evaluation المناسب لها
في حالة كان الخيارين On Change: Log Only و On Change: Prevent نستخدم معهما ال facet التالية طبعاً اكيد تعمل مع الاخرين

  • Application Role
  • Asymmetric Key
  • Database Role
  • Endpoint
  • Login Options
  • Multipart Name
  • Resource Pool
  • Schema
  • Stored Procedure
  • Table Options
  • User Defined Function
  • User Options
  • View Options
  • Workload Group
  • [b]· Database Option· Server Configuration· Surface Areaاما ماتبقى من ال facets فهي مخصصة فقطلل On Demand و On Schedule1- نعود الان الى الخاصيةالخامسة من خصائص ال Policy وهي ال Server Restriction يجب ان نعلم انة من الممكن ان تنفذ Condition قادم من Server اخر سنتعلمهابايجاز في الامثلةDescription Page Policies كما في الواجهه التالية

    [/b]
يتبع ان شاء الله





مدونتي
صفحتي على الفيسبوك

MCTS SQL Server 2008
MCSA SQL Server 2012
Microsoft Certified Trainer
SharePoint Administrator
الرد }}}
تم الشكر بواسطة:
#3
اولاً:- category وهي عبارة عن Groping لل policy وسوف نشرحها لاحقاً لاغراض التبسيط في العمل
ثانياً :- Description وضع وصف لل Policy وما عملها وهي مفيدة جداً
ثالثاً:- الخيار Text To Display ومعناه وضع نص رسالة خطا تضهر في حال كان المستخدم لايذعن للسياسة الموضوعة او ال Policy
رابعاً :- الخيار Address وضع عنوان لرابط تشعبي يضهر في حال ضهرت رسالة الخطأ او ان المستخدم لايذعن لشرط معين
اخيرأ عند الضغط على زر ال OK سوف ينشئ لدينا اول Policy
كما تكلمنا سابقاً عمل Grouping لل Policy الخيار الافتراضي هو default لكن لاينصح به تعرف ال category على انها وحدات تنضيم لل Policy اما اذا كنت تريد استخدام ال category فلديك الخيارات التالية

  1. استيراد مجموعه من التصنيفات من خلال استيراد ال Microsoft sample Polices كما سنفعل في التمرين التالي
  2. خلق التصنيف الذي تريده انت
لنلاحظ التمرين التالي على استيراد Category من خلال استيراد ال Policy
1- نفنح ال SSMS
2- نقوم بال نزول على management
3- ثم فنح عقدة ال Policies management
4- ومن ثم Right Click على ال Policies ثم اختيار ال Import Policy
5- ومن ثم الذهاب الى ال path التالي C:\Program Files\Microsoft SQL Server\100\Tools\Policies\ DatabaseEngine\1033 folder
ملاحظة هنالك Facet خاصة بال Analysis Services , Reporting Services لكل منها استخداماتها


حدد كل ال موجود ولاحظ الشكل التالي



الخيارت الموجودة في خانة option معروفة اختر
منها التالي
Preserve Policy State on
import
وتعني المحافظة
على حالة ال
Policy ولاتقلق سوف تكون كل ال Policy في حالة ال Don’t Enable اما الخيارات الباقية فاعتقد انها واضحة


1- بعد الضغط
على مفتاح ال
OK سوف تلاحظ ظهور قائمة من ال Policy ملاحظة في بيئة
انتاجية لاتقوم بأستيراد كل ال
Policy الموجودة حتى لايحدث لديك اي تشوش او فوضى في العمل تذكر انك مدير
قواعد بيانات


2- الان Right-click ثم اختيار Policy Management node وثم اختيار Manage Categories


فنلاحظ النتيجة التالية





كما ويمكنك التالي.... تابع الصورة




مافائدة هذة الصورة؟؟؟؟
اي يمكننا انشاء ال Policy الخاص بنا وتصديرة واستيرادة علىServer اخر تخيل هذة الفائدة حيث لايجب ان تعيد العمل في كل مرة
استفدنا من هذا التمرين التالي استيراد Policy وبالتالي استيراد Category ومن ثم عرفنا اننا من الممكن ان نقوم بتصدير Policy وما له من فوائد
اما عن الطريقة الثانية في انشاء new Category تابع الصورة التالية من خلال الضغط على زر New





الصورة التالية تبين كيفية انشاء category جديد مع استعراض ال Category المستورد اثناء استيراد ال Policy


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


تعلمنا معاً النقاط التالية
ان ال
facet تكون في الاصل موجودة ومحملة على SQL Server الخاص فينا
لذالك كاول خطوة نقوم فيها انشاء
Condition


سأخذ امثلة بسيطة لتطبيقها
:


ال Facet الاولى تفيد في
تهيئة ومراقبة اداء المستخدمين في حال كانلهم نفس ال
Default database


ال facet الثانية ستقوم
بأجراء سياسية التحقق من ان قاعدة البيانات خاصية ال
recovery لها تكون Full و ان ال owner نحددة نحن


ناتي الى طريقة انشاء Condition جديد كما
تعلمنا مسبقاً ولنسميها مثلاً كالتالي
ConUserDefaultDatabase تابع الخطوات التي في الصورة



بنفس الطريقة نقوم بانشاء Condition جديدة ولتكن اسمها CondDatabaseRecovery وخاصية ال factلها تكون Database option
اما Expressionفتكون كالتالي



ثم OK
الان سوف نقوم بانشاء ال Policy الخاص بكل Condition
كما تعلمنا مسبقاً سوف نقوم بانشاء Policy
للCondition كما في الصورة التالية


ثم نضغط OK لانشاء ال Policy ب ثم نقوم بعملية ال Evaloution (( تشغيل ال Policy ))شكل يدوي كما في الشكل التالي


طبعاً هذة الحالة مفيدة او طريقة التشغيل في حال كان ال Evolution mode On demand اي عند الطلب [u]اختبرها بنفسك[/u]
سوف اقوم بأختبار ال Policy عن طريق انشاء مستخدم جديد بأستخدام الكود التالي
use masterGOcreate Login UserIraqDB WithPASSWORD=’123456@r’,DEFAULT_DATABASE= IraqDotNetDB
ثم الضغط على زر ال F5 للتنفيذ فنلاحظ الرسالة او الخطا التالي
لنفرض الفرضية التالية لو كان لدينا مستخدم انشئ مسبقاً غير مطابق لل Policy التي عملناها الان عند انشاء ال Policy فأن ال SQL Server لن يعترض الا في حال عملنا بشكل يدوي على تشغيل ال Policy كما في الصورة اعلاة
الان لنلاحظ كيفية تتبع الخطا في حال كانت ال Evolution mode On Change only:-
بعد ان ننشأ الساسية الثانية نقوم

اضغط OK لانشاء ال السياسة التالية ولنشاهد النتائج بعد تغير بعض ال Option لقاعدة البيانات خاصتك حيث قم بتغير ال recovery Modil او ال owner او خاصية ال Aotu Close طبعاً ان ال التغيرات سوف تحدث لكن سوف يتم ابلاغ مدير ال SQL Server بالتغيرات التي جرت وهي تفيد في حال مراقبتة التغيرت التي تطرأ على قاعدة البيانات خاصتك تابع الصور التالية


ومن تأمل بالتقرير الذي يظهر كما في الشكل التالي او كما ضهر لديك

ناتي الان الى مثال اخير
سوف ان شاء Condtion هو التالي مثالة لا اريد Stord Procedure يبدا بالاسم SP
نخلق Condtion بأسم CondCheckProSdure ثم نضع الFacet له StordProcdure
اما عن الExprition فيكون كالتالي

لننشأ الان ال POlicy كما في الشكل التالي

بعد الضغط على زر ال OK لننفذ الكود التالي
Use IraqDotNetDB
Go
Create Proc SP_omar
as
Print ‘NO Way…… ’
عند تنفيذ الكود اعلاة ستلاحظ ضهور خطأ وهو عدم القبول بال ستورد بروسيجر لاحتوائة على الاسم SP_
اردت في هذا المثال ان اوجه التفكير في خاصية Agnest Target
اي على ماذا تريد ان ان يعمل ال Conditionلديك ان ال SQL يمتلك من الذكاء ليعلم ان ال خاصية ال @name لل Storprocdure يعمل على Database لكن في الحالات والشروط التابعه او بالاحرى التي حددتها انت لها كما في الشكل التالية


اذن الان لنقوم بتحديد عمل هذا ال Policy عن طريق انشاء Condition جديد لل facet المسمى Database
لكي يعمل هذا ال Policy على نوع معين
تابع معي انشاء Condtion جديد بأسم Conddatabasename والFacet لها Database اما الاكسبرشن فهو كالتالي


يتبع ان شاء الله تعالى
مدونتي
صفحتي على الفيسبوك

MCTS SQL Server 2008
MCSA SQL Server 2012
Microsoft Certified Trainer
SharePoint Administrator
الرد }}}
تم الشكر بواسطة:
#4
الله عليك ....Smile جزاك الله خيرا ياريت لو تعمله فيديو
محمد عبد العزيز

المهارات :

1- C#(asp.net-forms)
2- MCITP:SQL SERVER 2008 Adminstrator
3-PL_SQL
الرد }}}
تم الشكر بواسطة:
#5
مرحبا اخي عمر المستشار

وشكرا لك على هالموضوع القيم

وننتظر كل جديد منك اخي
الرد }}}
تم الشكر بواسطة:
#6

فتصبح واجهة ال Policy او ال Agnest target كما في الشكل التالي

الان لو حاولنا ان ننشأ StordProcdure على اي قاعدة بيانات سوف يقبل بالتأكيد اما ل حاول ان تنشا StordProcdure على قاعدة بيانات والتي اسمها AdventureWorks2008
لن يقبل واترك لك الكود وانت جرب بكل التوفيق
Use AdventureWorks2008
Go
Create Proc SP_test
as
Print ‘منتديات الفجول بيسك لكل العرب’
تم بعون الله الانتهاء من الجزء الاول وان شاء الله في الجزء الثاني سنتعلم كيفية عمل ال Centralized
Policy Management
الرجاء دعواتكم اخواننا الكرام في حال استفتدم من هذا الدرس
المصادر
1- كتاب ال SQL Server® 2008 Administration Real World Skills for MCITP Certification and Beyond
2- كتاب Pro SQL Server 2008 Policy-Based Management
الرجاء ذكر المصدر في حال نقل المقال
مدونتي
صفحتي على الفيسبوك

MCTS SQL Server 2008
MCSA SQL Server 2012
Microsoft Certified Trainer
SharePoint Administrator
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  طريقة عرض الأيام باللغة العربية في استعلام SQL Server ggtt17121985 0 986 12-10-23, 10:22 PM
آخر رد: ggtt17121985
  مساعده في تثبيت SQL Server Owz 1 422 22-09-23, 01:54 AM
آخر رد: Taha Okla
Photo [SQL] رسالة خطأ عند تنصيب sql server 2008 عثمان محمد جبور 2 1,736 07-10-21, 09:02 AM
آخر رد: عثمان محمد جبور
  تاريخ تنصيب ال SQL Server وتاريخ الانتهاء للنسخة ال Evaluation عمر المستشار 1 3,181 21-01-21, 02:00 PM
آخر رد: akrem72
  دورة في برنامج SQL Server 2008 تحت إشراف الاستاذ المهندس أحمد النجار ابو ابراهيم 2 6,320 15-04-20, 06:26 PM
آخر رد: nizar haider
  استفسار حول SQL SERVER MANGER mne3000 1 1,756 05-04-20, 01:21 AM
آخر رد: محمد كريّم
  max From views in sql server nabil.1710 2 2,279 15-01-20, 04:57 AM
آخر رد: EYADISMAIL
  مشكلة في تحميل sql server 2014 انيس القبائلي 0 1,834 09-01-20, 08:22 PM
آخر رد: انيس القبائلي
  [مقال] النسخ الاحتياطي التلقائي - Auto Back Up SQL Server Databases ابو ليلى 5 16,053 24-10-19, 03:43 PM
آخر رد: nouribenyahia
  SQL server tools to build stored procedures Akif 0 2,387 16-05-18, 01:25 PM
آخر رد: Akif

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


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