حول أشياء مثيرة للاهتمام من عالم تكنولوجيا المعلومات والتعليمات والمراجعات. الحد الأقصى لدرجة التوازي – اختيار القيمة المثلى تحديد الحد الأقصى لدرجة معلمة التوازي

تحسين عمل 1C. إعداد خادم MS SQL

تمكين التهيئة الفورية لملف قاعدة البيانات

  • إنشاء قاعدة البيانات
  • إضافة ملفات أو سجلات أو بيانات إلى قاعدة بيانات موجودة
  • زيادة حجم ملف موجود (بما في ذلك عمليات النمو التلقائي)
  • استعادة قاعدة البيانات أو مجموعة الملفات

لتمكين الإعداد:

  1. على الكمبيوتر الذي سيتم إنشاء ملف النسخ الاحتياطي فيه، افتح تطبيق Local Security Policy (secpol.msc).
  2. قم بتوسيع عقدة السياسات المحلية في الجزء الأيمن، ثم انقر فوق تعيين حقوق المستخدم.
  3. في الجزء الأيسر، انقر نقرًا مزدوجًا فوق تنفيذ مهام صيانة وحدة التخزين.
  4. انقر فوق الزر "إضافة" لمستخدم أو مجموعة وأضف هنا المستخدم الذي يعمل ضمنه MS SQL Server.
  5. انقر فوق الزر "تطبيق".

تمكين خيار قفل الصفحات في الذاكرة

يتحكم هذا الإعداد في الحسابات التي يمكنها تخزين البيانات في ذاكرة الوصول العشوائي (RAM) بحيث لا يرسل النظام صفحات من البيانات إلى الذاكرة الظاهرية على القرص، مما قد يؤدي إلى تحسين الأداء.

لتمكين الإعداد:

  1. من القائمة ابدأ، حدد تشغيل. في الحقل "فتح"، أدخل gpedit.msc.
  2. في وحدة تحكم محرر نهج المجموعة المحلي، قم بتوسيع تكوين الكمبيوتر، ثم تكوين Windows.
  3. قم بتوسيع إعدادات الأمان والسياسات المحلية.
  4. حدد مجلد تعيين حقوق المستخدم.
  5. سيتم عرض السياسات في لوحة التفاصيل.
  6. في هذه اللوحة، انقر نقرًا مزدوجًا فوق خيار قفل الصفحات في الذاكرة.
  7. في خيار الأمان المحلي - قفل الصفحات في الذاكرة، حدد إضافة مستخدم أو مجموعة.
  8. في مربع الحوار تحديد: المستخدمون أو حسابات الخدمة أو المجموعات، أضف الحساب الذي تقوم من خلاله بتشغيل خدمة MS SQL Server.
  9. لكي تدخل التغييرات حيز التنفيذ، أعد تشغيل الخادم أو قم بتسجيل الدخول باسم المستخدم الذي تقوم بتشغيل MS SQL Server من خلاله.

تعطيل DFSS للأقراص.

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

  1. ابحث عن فرع HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TSFairShare\Disk في السجل
  2. قم بتعيين قيمة المعلمة EnableFairShare على 0

تعطيل ضغط البيانات للأدلة التي تحتوي على ملفات قاعدة البيانات.

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

لتعطيل ضغط الملفات في الدليل، يجب عليك:

  1. فتح خصائص الدليل
  2. في علامة التبويب عام، انقر فوق أخرى
  3. قم بإلغاء تحديد محتوى "ضغط" لتوفير مساحة على القرص.

اضبط معلمة الدرجة القصوى للتوازي على 1.

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

لتكوين المعلمة تحتاج إلى:

  1. افتح خصائص الخادم وحدد علامة التبويب خيارات متقدمة
  2. اضبط قيمة المعلمة على واحد.

تحديد الحد الأقصى لحجم الذاكرة لـ MS SQL Server.

ذاكرة MS SQL Server = ذاكرة لكل شيء - ذاكرة لنظام التشغيل - ذاكرة لخادم 1C

على سبيل المثال، يحتوي الخادم على 64 جيجابايت من ذاكرة الوصول العشوائي المثبتة، وتحتاج إلى فهم مقدار الذاكرة التي سيتم تخصيصها لخادم DBMS بحيث تكون كافية لخادم 1C.

للتشغيل العادي لنظام التشغيل، في معظم الحالات، يكون 4 جيجابايت أكثر من كافٍ، وعادةً ما يكون 2-3 جيجابايت.

لتحديد مقدار الذاكرة التي يتطلبها خادم 1C، تحتاج إلى النظر في مقدار الذاكرة التي تشغلها عمليات مجموعة الخادم في ذروة يوم العمل. هذه العمليات هي ragent وrmngr وrphost؛ وقد تمت مناقشة هذه العمليات بالتفصيل في القسم المخصص لمجموعة الخادم. يجب أن يتم أخذ البيانات بدقة خلال فترة ذروة نشاط العمل، عندما يعمل الحد الأقصى لعدد المستخدمين في قاعدة البيانات. بعد تلقي هذه البيانات، تحتاج إلى إضافة 1 جيجابايت إليها - في حالة بدء عمليات "ثقيلة" في 1C.

لتعيين الحد الأقصى لحجم الذاكرة التي يستخدمها MS SQL Server، يجب عليك:

  1. قم بتشغيل Management Studio واتصل بالخادم المطلوب
  2. افتح خصائص الخادم وحدد علامة التبويب الذاكرة
  3. حدد قيمة معلمة الحد الأقصى لحجم ذاكرة الخادم.

تمكين علامة أولوية Boost SQL Server.

تسمح لك هذه العلامة بزيادة أولوية عملية MS SQL Server على العمليات الأخرى.

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

لتعيين العلم تحتاج إلى:

  1. قم بتشغيل Management Studio واتصل بالخادم المطلوب
  2. افتح خصائص الخادم وحدد علامة التبويب "المعالجات".
  3. قم بتمكين علامة "تعزيز أولوية SQL Server" وانقر فوق "موافق".

ضبط حجم النمو التلقائي لملفات قاعدة البيانات.

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

  1. قم بتشغيل Management Studio واتصل بالخادم المطلوب
  2. مقابل كل ملف في عمود الزيادة التلقائية، ضع القيمة المطلوبة

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

قم بفصل ملفات بيانات mdf وملفات سجل ldf على أقراص فعلية مختلفة.

في هذه الحالة، يمكن أن يستمر العمل مع الملفات ليس بالتتابع، ولكن بالتوازي تقريبا، مما يزيد من سرعة عمليات القرص. تعتبر محركات أقراص SSD هي الأنسب لهذه الأغراض.

لنقل الملفات تحتاج إلى:

  1. قم بتشغيل Management Studio واتصل بالخادم المطلوب
  2. افتح خصائص قاعدة البيانات المطلوبة وحدد علامة التبويب "الملفات".
  3. تذكر أسماء الملفات ومواقعها
  4. قم بفصل قاعدة البيانات عن طريق تحديد المهام - فصل من خلال قائمة السياق
  5. حدد خانة الاختيار حذف الاتصالات وانقر فوق "موافق".
  6. افتح File Explorer وانقل ملف البيانات وملف السجل إلى الوسائط المطلوبة
  7. في Management Studio، افتح قائمة سياق الخادم وحدد إرفاق قاعدة البيانات
  8. انقر فوق الزر "إضافة" وحدد ملف mdf من القرص الجديد
  9. في نافذة معلومات قاعدة البيانات السفلية، في السطر مع ملف السجل، تحتاج إلى تحديد المسار الجديد لملف سجل المعاملات والنقر فوق موافق.

هدف:دراسة تأثير توازي SQL على العمل مع استعلامات 1C

الأدب:

بيئة الاختبار:

خادم ويندوز 2008 R2 المؤسسة

خادم مايكروسوفت SQL 2008 R2

· 1C إنتربرايز 8.2.19.90

الشكل 1. خصائص SQL "عامة"


الشكل 2. خصائص SQL "متقدمة"

أدوات:

ملف تعريف خادم SQL

· 1C وحدة التحكم الاستعلام

طلب الاختبار:

يختار

AK.Name AS الاسم

من

سجل المعلومات.مصنف العناوين AS AK

صلة داخليةسجل المعلومات.مصنف العناوين AS AK1

بواسطة AK.Code = AK1.Code

تحضير:

نقوم بتشغيل ملف تعريف خادم SQL، وإنشاء اتصال، ووضع علامة على الأحداث والأعمدة كما هو موضح في الشكل 3.


الشكل 3. خصائص التتبع

إعداد الاختيار لقاعدة البيانات الخاصة بنا


الشكل 4. التصفية حسب قاعدة البيانات

الاختصارات:

أقصى درجة من التوازي – MDOP

عتبة التكلفة للتوازي - التكلفة

اختبار خطة الاستعلام التسلسلي (MDOP = 1)


الشكل 5. وحدة تحكم الاستعلام – وقت التنفيذ 20 ثانية.

تم تعيين معلمة خادم SQL "الحد الأقصى لدرجة التوازي" على 1 (بدون توازي). ننظر إلى النتيجة في ملف التعريف (الشكل 6)


الشكل 6. خطة الاستعلام التسلسلي

أنشأ خادم SQL خطة استعلام تسلسلية، مع: إجمالي حمل وحدة المعالجة المركزية = 6,750 (ثانية)، والوقت اللازم لإكمال الاستعلام = 7,097 (ثانية)

اختبار خطة الاستعلام الموازية (MDOP = 0، التكلفة =5)

نقوم بتحويل خادم SQL إلى وضع التوازي (في استعلام SQL):

استخدم سيد ;

EXEC sp_configure "إظهار الخيار المتقدم" , 1;

إعادة التكوين مع التجاوز

استخدم سيد ;

exec sp_configure "أقصى درجة من التوازي" , 0;

إعادة التكوين مع التجاوز

نقوم بتنفيذ نفس الطلب (الشكل 7)


الشكل 7. وحدة تحكم الاستعلام – وقت التنفيذ 16 ثانية.

نتحقق من النتيجة في ملف التعريف (الشكل 8)


الشكل 8. خطة الاستعلام الموازية

هذه المرة، أنشأ خادم SQL خطة استعلام متوازية، مع إجمالي حمل وحدة المعالجة المركزية = 7.905 ثانية ومدة تنفيذ الاستعلام = 3.458 ثانية

اختبار خطة الاستعلام التسلسلي (MDOP = 0، التكلفة = 150)

دعونا نحاول التخلص من الخطة الموازية باستخدام معلمة "عتبة تكلفة التوازي". افتراضيًا، يتم تعيين المعلمة على 5. في حالتنا، تمكنا من التخلص من تكوين خطة متوازية بقيمة 150 (في استعلام SQL):

استخدم سيد ;

exec sp_configure "عتبة التكلفة للتوازي", 150 ;

نتحقق من تنفيذ الطلب في ظل هذه الظروف (الشكل 9)

الشكل 9. وحدة التحكم في الاستعلام – وقت التنفيذ 20 ثانية.

نتحقق من النتيجة في ملف التعريف (الشكل 10)


الشكل 10. خطة الاستعلام التسلسلي.

أنشأ خادم SQL خطة استعلام تسلسلية. إجمالي حمل وحدة المعالجة المركزية = 7.171 ثانية، وقت تنفيذ الاستعلام = 7.864 ثانية.

الاستنتاجات:

· تنفيذ استعلام اختباري في بيئة 1C Enterprise باستخدام خطة استعلام متوازية لخادم SQL يعطي زيادة كبيرة في الأداء مقارنة بالخطة التسلسلية (16 ثانية مقابل 20 ثانية - كسب 4 ثوانٍ)

· تنفيذ استعلام اختباري بواسطة خادم SQL نفسه عند استخدام خطة استعلام متوازية يكون أسرع بمرتين من استخدام خطة استعلام تسلسلية (3.5 ثانية مقابل 7.1 ثانية)

· يمكن تعديل توازي خادم SQL ليس فقط باستخدام معلمة MDOP، ولكن أيضًا باستخدام معلمة "عتبة تكلفة التوازي"

في هذه المذكرة القصيرة، أود أن أتحدث قليلاً عن تعقيدات إعدادات التوازي في Microsoft SQL Server. لقد كان العديد منكم على علم بخيار Max Degree od Parallelism منذ فترة طويلة، والذي كان موجودًا في SQL Server لفترة طويلة جدًا. افتراضيًا، يتم تعيينه على 0، مما يعني أن SQL Server نفسه سيختار الدرجة المثلى من التوازي، أي عدد المعالجات/سلاسل العمليات المستخدمة لتنفيذ تعليمة واحدة. لن أتوقف الآن وأناقش القيمة الأفضل لتعيين هذا الخيار - فهذا موضوع لملاحظة منفصلة. سألقي نظرة فقط على كيفية تأثير قيمة هذا الخيار على تنفيذ الاستعلامات. على سبيل المثال، في الشكل أدناه، تم تعيين هذا الخيار على 1، مما يعني أن الخطط المتوازية لجميع الاستعلامات معطلة افتراضيًا.

يتوفر هذا الخيار أيضًا للعرض باستخدام أمر T-SQL التالي:

في الواقع، أي خطة استعلام ستكون متسلسلة بشكل افتراضي. على سبيل المثال:

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

وإذا نظرنا إلى هذا الاستعلام من خلال عرض sys.dm_exec_query_profiles، فسنرى أنه تم تنفيذه فعليًا في 10 سلاسل رسائل.

وبالتالي، تظل هناك ثغرة سرية في النظام يمكن للمطورين والمستخدمين استخدامها "لتسريع" (وهنا أضعها بين علامتي اقتباس عمدًا، لأن الدرجة العالية من التوازي لا تؤدي دائمًا إلى تقليل وقت تنفيذ الاستعلام) الاستعلامات عن طريق زيادة درجة التوازي . ولكن بهذه الطريقة، يمكنهم ببساطة "قتل" الخادم عن طريق تشغيل العديد من الطلبات المتوازية غير المنضبطة في نفس الوقت. ماذا يمكننا أن نفعل حيال هذا؟ هذا هو المكان الذي يأتي فيه Resource Governor لمساعدتنا، وهو نظام قوي جدًا ومُستهان به تمامًا يسمح لك بتوزيع الموارد بمرونة شديدة بين مجموعات المستخدمين المختلفة. مرة أخرى، لن أتطرق الآن إلى كيفية عملها وما هي القدرات التي تتمتع بها. سأخوض في التفاصيل حول كيفية تأثير إعدادات حد التزامن عليه. دعونا أولاً نلقي نظرة على الإعدادات الافتراضية:

مرة أخرى نرى أنه تم تعيين الخيار افتراضيًا على 0 ويترك قرار اختيار الدرجة القصوى لـ SQL Server. الآن دعونا نرى ما سيحدث إذا قمت بتغيير هذه القيمة إلى 5. انتبه، لا تقم بأي حال من الأحوال بإجراء مثل هذه الإعدادات على نظام حقيقي، لأنه لم أقم حتى بتحديد وظيفة التصنيف لمحافظ الموارد وأقوم بتغيير المجموعة الافتراضية. ولكن لاختبار وفهم كيفية عمل كل شيء على وجه التحديد الآن في مثالي، فهذا يكفي. لذا فإن الحد الأقصى لدرجة التوازي للجميع هو 5 خيوط. اسمحوا لي أن أذكركم أن هذا الخيار أقصى درجة من التوازي، والتي نظرنا إليها سابقًا لا تزال مضبوطة على القيمة 1. إذا نظرنا الآن إلى خطة تنفيذ استعلامنا الأولي، فستكون افتراضيًا تسلسلية، ومع خيار maxdop 10 ستكون متوازية. ولكن، إذا قمنا بتنفيذ خطة موازية، فسنرى شيئًا مثيرًا للاهتمام.

الآن يتم تنفيذ طلبنا في 5 مواضيع فقط، على الرغم من أن الخيار com.maxdopلها قيمة 10. وإذا قمت بتحديد خيار maxdop 4 للطلب، فسيتم تنفيذه في 4 سلاسل (تم تعيين الخيار في Resource Governor على 5). في هذه الحالة التلميح com.maxdopأقل من إعداد محافظ الموارد، لذلك لا يتم فرض أي قيود إضافية. ولن أعطي مثالاً على ذلك بعد الآن.

وبالتالي، يعد Resource Governor أداة أكثر قوة تحد فعليًا من الحد الأقصى لدرجة التوازي للاستعلامات، ويمكن تعيين هذه الدرجة بشكل مختلف لمجموعات المستخدمين المختلفة. في هذه الحالة الخيار أقصى درجة من التوازيلا يزال مستمرًا في العمل ويقدم مساهمته (أو يربك المسؤولين والمطورين والمستخدمين قليلاً عندما يعمل جنبًا إلى جنب مع محافظ الموارد). علاوة على ذلك، فإن خيارات تحديد قيم هاتين المعلمتين محدودة فقط بخيالك، ولكن من المهم أن تتذكر شيئين فقط: أقصى درجة من التوازيوتلميح com.maxdopبالنسبة للطلب، فإنه يؤثر على الخطة التي سيتم إنشاؤها، والحد الأقصى لعدد سلاسل الرسائل التي ستكون ممكنة لهذا الطلب، كما يحد محافظ الموارد من الطلب من الأعلى أثناء التنفيذ.

  • درس تعليمي

هذه التعليمات مخصصة للمبتدئين الذين يبحثون عن دليل بسيط باللغة الروسية لتثبيت الإصدار الإنجليزي من SQL Server 2012، والذي سيتم استخدامه بعد ذلك لـ SharePoint 2013.
هذه المقالة ليست للمحترفين.

ينقسم كل العمل إلى 3 مراحل:

  • تثبيت SQL Server 2012
  • ضبط معلمة تكوين الخادم على أقصى درجة من التوازي
  • قم بتكوين حقوق الحساب المخصص لتثبيت SharePoint 2013
توضح المقالة أيضًا عملية تثبيت Microsoft .NET Framework 3.5 في بيئة MS Windows Server 2012 R2 Standard.

تنبيه: هناك الكثير من الصور تحت القطع!

تثبيت SQL Server 2012

1. قبل التثبيت، يجب عليك التأكد من وجود مساحة خالية كافية على القرص الصلب الخاص بك (في حالتي، استغرق الأمر 2.7 جيجابايت).
بعد البدء بالتوزيع قم باختيار " تثبيت"في القائمة اليسرى، ثم انقر فوق" SQL Server جديد مستقل أو أضف ميزات إلى التثبيت الحالي":

2. سيبدأ معالج التثبيت. سوف يقوم بإجراء الفحص. يمكنك الضغط على زر "إظهار التفاصيل" وعرض تقرير مفصل:

3. تقرير مفصل. انقر فوق الزر "موافق":

4. أدخل مفتاح المنتج وانقر على زر "التالي":

5. نحن نوافق على شروط اتفاقية الترخيص.
للقيام بذلك، حدد المربع " اوافق على شروط الترخيص

6. في خطوة "دور الإعداد"، حدد العنصر الأول " تثبيت ميزة SQL Server". انقر على زر "التالي":

7. في خطوة "اختيار الميزة"، ضع علامة " خدمات محرك قاعدة البيانات", "أدوات الإدارة - الأساسية" و " أدوات الإدارة – كاملة". ثم انقر فوق الزر "التالي":

8. سيقوم المثبت بعد ذلك بإجراء فحص آخر. يمكنك الضغط على زر "إظهار التفاصيل" وعرض تقرير مفصل:

9. تقرير مفصل. (في هذه المرحلة، حدث خطأ في قاعدة "تم تثبيت Microsoft .NET Framework 3.5...". المزيد عن ذلك أدناه). انقر على زر "التالي":

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

11. في هذه الخطوة، سيعرض معالج التثبيت متطلبات مساحة القرص. انقر على زر "التالي":

12. في خطوة "تكوين الخادم"، يجب عليك تحديد حساب مجال للخدمة " محرك قاعدة بيانات SQL Server". بعد ملء حقلي "اسم الحساب" و"كلمة المرور"، انقر فوق الزر "التالي":

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

14. في الخطوة التالية، انقر على زر "التالي":

15. بعد ذلك، سيقوم معالج التثبيت بإجراء الاختبار مرة أخرى ويعرض نتائجه. انقر على زر "التالي":

16. في خطوة "جاهز للتثبيت"، سيعرض المعالج معلومات ملخصة. هنا تحتاج إلى النقر فوق الزر "تثبيت":

17. بعد اكتمال التثبيت، سيتم عرض معلومات حول العمليات التي تم إجراؤها:

18. أوصي بشدة بإعادة تشغيل جهاز الكمبيوتر الخاص بك في هذه المرحلة. في بعض الحالات (على سبيل المثال، عند تثبيت Microsoft .NET Framework 3.5)، سيعرض معالج التثبيت نفسه نافذة تطلب منك إعادة تشغيل الكمبيوتر. لا ترفض.

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

القيمة الافتراضية لمعلمة الحد الأقصى لدرجة التوازي هي 0.
يتطلب SharePoint 2013 أن يكون هذا الإعداد 1.
من السهل إصلاحه!

1. إطلاق ستوديو إدارة خادم Microsoft SQL(ابدأ - كافة البرامج - Microsoft SQL Server 2012 - SQL Server Management Studio).

2. في شاشة الاتصال بالخادم، انقر فوق الزر "اتصال".

3. انقر بزر الماوس الأيمن على الخادم الخاص بك في " مستكشف الكائنات"وحدد" ملكيات":

4. في نافذة خصائص الخادم التي تفتح، في القائمة اليسرى، حدد الصفحة " متقدم" وقم بتمرير قائمة الخصائص إلى أسفل الشاشة. قم بتعيين قيمة المعلمة " أقصى درجة من التوازي" الخامس 1 وانقر فوق موافق:

5. لا تغلق SQL Server Management Studio، فسنحتاج إليه لاحقًا.

قم بتكوين حقوق الحساب المخصص لتثبيت SharePoint 2013

يجب أن يتمتع الحساب الذي سيتم تثبيت SharePoint 2013 بموجبه بحقوق مرتفعة في خادم SQL.
يوصى بإعطاء هذا الحساب الأدوار التالية:
  • com.dbcreator
  • com.securityadmin
  • عام
1. في SQL Server Management Studio في " مستكشف الكائنات"توسيع العنصر" حماية". ثم انقر بزر الماوس الأيمن على العنصر " تسجيلات الدخول"وحدد" تسجيل دخول جديد":

2. في الحقل "اسم تسجيل الدخول"، أدخل اسم مجال الحساب الذي تخطط لتثبيت SharePoint 2013 وتكوينه.

3. في القائمة اليسرى، حدد الصفحة " أدوار الخادم" وتحقق من الأدوار "dbcreator" و"securityadmin"، وتأكد أيضًا من تحديد الدور "public" بالفعل. ثم انقر فوق الزر "موافق":

الآن أصبح خادم SQL جاهزًا لتثبيت SharePoint 2013.

تثبيت Microsoft .NET Framework 3.5 في MS Windows Server 2012 R2 Standard

في الخطوة رقم 9 من النقطة " تثبيت SQL Server 2012"لقد تلقيت خطأ: لم يتم تثبيت ‎.NET Framework 3.5.
لحل هذه المشكلة، عليك اتباع الخطوات التالية:

1. أنت بحاجة إلى فتح وحدة التحكم" مدير الخادم".

2. في القائمة اليسرى، حدد عنصر "لوحة المعلومات".

3. في وسط النافذة، انقر فوق عنصر "إضافة الأدوار والميزات".

4. في المعالج الذي يفتح، قم بتخطي خطوة "قبل أن تبدأ".

5. في خطوة "نوع التثبيت"، حدد العنصر " التثبيت على أساس الدور أو على أساس الميزة". انقر على زر "التالي".

6. في الخطوة التالية، اترك كل شيء كإعداد افتراضي وانقر على زر "التالي".

7. تخطى خطوة "أدوار الخادم" بالنقر على زر "التالي".

8. في خطوة "الميزات"، حدد خانة الاختيار ".NET Framework 3.5 Features". انقر على زر "التالي".

9. بمجرد اكتمال عملية التثبيت، يمكنك إغلاق معالج إضافة الأدوار والميزات.

10. انتهيت!

حظا سعيدا للجميع والسماء الهادئة فوق رؤوسكم!

ملاحظة. يوم رواد الفضاء القادم سعيد!

الحد الأقصى لدرجة التوازي (DOP) هو خيار تكوين SQL Server إضافي كان موضوع العديد من الأسئلة والمنشورات. في منشور المدونة هذا، يأمل المؤلف في تقديم بعض الوضوح حول ما يفعله هذا الخيار وكيف ينبغي استخدامه.
أولاً، يود المؤلف إزالة أي شك في أن الخيار المذكور يحدد عدد المعالجات التي يمكن لـ SQL Server استخدامها عند خدمة اتصالات متعددة (أو مستخدمين) - لا يفعل ذلك! إذا كان لدى SQL Server حق الوصول إلى أربعة معالجات خاملة، وتم تكوينه لاستخدام كافة المعالجات الأربعة، فسوف يستخدم كافة المعالجات الأربعة، بغض النظر عن الحد الأقصى لدرجة التوازي.
إذن ماذا يفعل هذا الخيار؟ يقوم هذا الخيار بتعيين الحد الأقصى لعدد المعالجات التي يمكن لـ SQL Server استخدامها لاستعلام واحد. إذا كان يجب على استعلام SQL Server إرجاع كمية كبيرة من البيانات (العديد من السجلات)، فمن المنطقي في بعض الأحيان موازنتها، وتقسيمها إلى عدة استعلامات صغيرة، سيُرجع كل منها مجموعة فرعية خاصة به من الصفوف. وبالتالي، يمكن لـ SQL Server استخدام معالجات متعددة، وبالتالي، في الأنظمة متعددة المعالجات، من المحتمل أن يتم إرجاع عدد كبير من سجلات الاستعلام بأكمله بشكل أسرع من النظام أحادي المعالج.
هناك العديد من المعايير التي يجب مراعاتها قبل أن يستدعي SQL Server "توازي الاستعلام الداخلي" (تقسيم الاستعلام إلى سلاسل رسائل متعددة)، وليس هناك أي فائدة من تفصيلها هنا. يمكنك العثور عليها في BOL من خلال البحث عن "درجة التوازي". تقول أن قرار الموازاة يعتمد على توفر الذاكرة للمعالج، وخاصة على توفر المعالجات نفسها.
فلماذا يجب أن نفكر في استخدام هذا الخيار - لأن تركه بقيمته الافتراضية (يتخذ SQL Server قرارات الموازاة الخاصة به) قد يكون له في بعض الأحيان تأثيرات غير مرغوب فيها. تبدو هذه التأثيرات كما يلي:

    الاستعلامات المتوازية تعمل بشكل أبطأ.

    يمكن أن تصبح أوقات تنفيذ الاستعلام غير حتمية، مما قد يزعج المستخدمين. قد تتغير أوقات التنفيذ للأسباب التالية:

      قد يكون الاستعلام متوازيًا أحيانًا وأحيانًا لا.

      يمكن حظر الطلب عن طريق طلب موازٍ إذا كانت المعالجات مثقلة بالعمل مسبقًا.

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

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

    يمكن أن تؤدي طلبات التوازي إلى انتظار معرفات SPID مختلفة بنوع الانتظار CXPACKET أو 0X0200. يمكن استخدام هذا للعثور على معرفات SPID الموجودة في حالة انتظار أثناء العمليات المتوازية والتي تحتوي على نوع انتظار في عمليات النظام: CXPACKET. لتسهيل هذه المهمة، يقترح المؤلف استخدام الإجراء المخزن المتوفر على مدونته:track_waitstats.

وبالتالي "قد يكون الاستعلام أبطأ عند موازيته" لماذا؟

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

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

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

من كل هذا، يتبع توصية للتحقق من تنفيذ الطلب دون التوازي (DOP=1)، وهذا سيساعد في تحديد المشاكل المحتملة.
من الطبيعي أن تقودك تأثيرات التوازي المذكورة أعلاه إلى الاعتقاد بأن الآليات الداخلية لموازاة الاستعلام ليست مناسبة للاستخدام في تطبيقات OLTP. هذه هي التطبيقات التي يمكن أن يكون تغيير أوقات تنفيذ الاستعلام فيها مزعجًا للمستخدمين والتي من غير المرجح أن يختار الخادم الذي يخدم العديد من المستخدمين المتزامنين خطة تنفيذ متوازية لها بسبب ملف تعريف حمل عمل المعالج المتأصل لهذه التطبيقات.
لذلك، إذا كنت ستستخدم التوازي، فمن المرجح أنك ستحتاج إليه لمهام استرجاع البيانات (مستودع البيانات)، أو دعم القرار أو أنظمة إعداد التقارير، حيث لا يوجد الكثير من الاستعلامات، ولكنها ثقيلة جدًا ويتم تنفيذها على نظام قوي الخادم مع كمية كبيرة من ذاكرة الوصول العشوائي.
إذا قررت استخدام التوازي، ما هي القيمة التي يجب عليك تعيينها لـ DOP؟ من الممارسات الجيدة لهذه الآلية أنه إذا كان لديك 8 معالجات، فقم بتعيين DOP = 4 وسيكون هذا هو الإعداد الأمثل على الأرجح. ومع ذلك، ليس هناك ما يضمن أنها ستعمل بهذه الطريقة. الطريقة الوحيدة للتأكد هي اختبار قيم مختلفة لـ DOP. بالإضافة إلى ذلك، أراد المؤلف تقديم نصيحته التجريبية بعدم تعيين هذا الرقم أبدًا على أكثر من نصف عدد المعالجات المتوفرة. إذا كان لدى المؤلف أقل من ستة معالجات، فسيضع DOP على 1، مما يؤدي ببساطة إلى تعطيل الموازاة. قد يقوم باستثناء إذا كان لديه قاعدة بيانات تدعم فقط عملية مستخدم واحد (بعض تقنيات استرجاع البيانات أو مهام إعداد التقارير)، وفي هذه الحالة، كاستثناء، سيكون من الممكن تعيين DOP على 0 (القيمة الافتراضية)، مما يسمح لـ SQL Server نفسه أن يقرر ما إذا كان سيتم موازاة الاستعلام أم لا.
قبل الانتهاء من المقال، أراد المؤلف تنبيهك إلى أن إنشاء الفهرس الموازي يعتمد على الرقم الذي قمت بتعيينه لـ DOP. وهذا يعني أنك قد ترغب في تغييره أثناء إنشاء الفهارس أو إعادة إنشائها لتحسين أداء هذه العملية، وبالطبع يمكنك استخدام تلميح MAXDOP في الاستعلام، والذي يسمح لك بتجاوز القيمة المحددة في التكوين ويمكنه استخدامها خارج ساعات الذروة.
وأخيرًا، قد يتباطأ الاستعلام الخاص بك عند موازنته بسبب الأخطاء، لذا تأكد من تثبيت أحدث حزمة خدمة على الخادم الخاص بك.

إنشاء proc Track_waitstats (@num_samples int = 10 ,@delaynum int = 1 ،@delaytype nvarchar ( 10 ) = "دقائق" ) AS -- تي ديفيدسون - يتم توفير هذا الإجراء المخزن = كما هو = بدون أي ضمانات،- ولا يمنح أي حقوق. -- استخدام نماذج البرامج النصية المضمنة يخضع للشروط - محدد على http://www.microsoft.com/info/cpyright.htm - @num_samples هو عدد مرات التقاط إحصائيات الانتظار، - الافتراضي هو 10 مرات. الفاصل الزمني الافتراضي للتأخير هو دقيقة واحدة - Delaynum هو الفاصل الزمني للتأخير. يحدد نوع التأخير ما إذا كان - الفاصل الزمني للتأخير هو دقائق أو ثواني - قم بإنشاء جدول waitstats إذا لم يكن موجودًا، وإلا فاقتطعهقم بتعيين nocount إذا لم يكن موجودًا (اختر 1 من كائنات النظام حيث name = "waitstats" ) قم بإنشاء جدول waitstats ( varchar ( 80 )، طلبات رقمية ( 20 ,1 )، رقمي( 20 ,1 )، رقمي( 20 ,1 ) ، الآن getdate الافتراضي للتاريخ ()) وإلا قم باقتطاع جدول waitstats dbcc sqlperf (waitstats,clear) - قم بمسح waitstats وأعلن @i int ,@delay varchar ( 8 ) ,@dt فارتشار ( 3 ) ,@الوقت والتاريخ الآن ,@totalwait رقمي ( 20 ,1 ) ,@تاريخ وقت الانتهاء ,@تاريخ وقت البدء ,@hr int ,@min int ,@sec int حدد @i = 1 حدد @dt = حالة الأحرف الصغيرة (@delaytype) عند "دقيقة" ثم "m" عند "دقيقة" ثم "m" عند "min" ثم "m" عندما "mm" ثم "m" عندما "mi" ثم "m" عندما "m" ثم "m" عندما "ثواني" ثم "s" عندما "ثانية" ثم "s" عندما "sec" ثم "s" عندما "ss" ثم "s" عندما "s" ثم "s" آخر @ نهاية التأخير إذا لم يكن @dt في ("s" , "m" ) يبدأ الطباعة "يُرجى إدخال نوع التأخير، على سبيل المثال، ثوانٍ أو دقائق"قم بإرجاع النهاية إذا بدأ @dt = "s" حدد @sec = @delaynum % 60 حدد @min = cast ((@delaynum / 60 ) كـ int ) حدد @hr = cast ((@min / 60 ) كـ int ) حدد @min = @min % 60 النهاية إذا بدأ @dt = "m" حدد @sec = 0 حدد @min = @delaynum % 60 حدد @hr = cast ((@delaynum / 60 ) كـ int ) نهاية حدد @delay = right ("0" + تحويل (varchar ( 2 )،@ساعة)، 2 2 )،@دقيقة)، 2 ) + ": " + + يمين ("0" +convert (varchar ( 2 )،@ ثانية)، 2 ) إذا @hr> 23 أو @دقيقة> 59 أو @sec> 59 ابدأ بالاختيار "hh:mm:ss لا يمكن لوقت التأخير > 23:59:59"حدد "فاصل التأخير واكتب:" + تحويل (varchar ( 10 ) ،@delaynum) + "،" + @delaytype + " يتحول إلى " + @delay return end بينما (@i<= @num_samples) begin insert into waitstats (, requests, ,) exec ("dbcc sqlperf(waitstats)" ) select @i = @i + 1 انتظر تأخير @delay End --- إنشاء تقرير waitstats وتنفيذ get_waitstats --//--//--//--//--//--//--//--//--//-//--//--//--//--//--//--//--//--/ إنشاء بروك get_waitstats AS - يتم توفير هذا الإجراء المخزن = كما هو = بدون أي ضمانات، و- لا يهم أي حقوق. - يخضع استخدام نماذج البرامج النصية المضمنة للشروط المحددة - على http://www.microsoft.com/info/cpyright.htm -- - سيقوم هذا البرنامج بإنشاء تقرير waitstats يسرد أنواع الانتظار حسب-- نسبة مئوية -- يمكن تشغيله أثناء تنفيذ المسارtrack_waitstatsقم بتعيين nocount على الإعلان عن @now datetime و@totalwait numeric ( 20 ,1 ) ,@endtime datetime ,@begintime datetime ,@hr int ,@min int ,@sec int حدد @now=max (الآن)،@begintime=min (الآن)،@endtime=max (الآن) من waitstats حيث = " المجموع" --- اطرح الانتظار والنوم وقائمة انتظار الموارد من الإجماليحدد @totalwait = sum() + 1 من waitstats حيث لا يوجد ("WAITFOR" و"SLEEP" و"RESOURCE_QUEUE" و"Total" و"***total***" ) والآن = @now -- أدخل المجاميع المعدلة، مرتبة حسب النسبة المئوية تنازليًااحذف waitstats حيث = "***total***" والآن = @now أدخل في waitstats حدد "***total***" ، 0 ,@totalwait ,@totalwait ,@حدد الآن ,النسبة المئوية = الإلقاء ( 100 */@totalwait كرقم ( 20 ,1 )) من waitstats حيث لا يوجد في ("WAITFOR" و"SLEEP" و"RESOURCE_QUEUE" و"Total" ) والآن = @now الترتيب حسب النسبة المئوية التنازلية