تحسينات التزامن لقاعدة بيانات

الخطأ رقم: 362099 (SHILOH_BUGS)

الأعراض

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

من إخراج جدول النظام sysprocesses ، قد تظهر waitresource "2:1:1" (الصفحة PFS) أو "2:1:3" (صفحة SGAM). تبعاً لدرجة التنازع، وهذا قد يؤدي أيضا إلى SQL Server التي تظهر استجابة لفترات قصيرة.


استخدم هذه العمليات بشكل كبير بيانات:
  • تكرار إنشاء والجداول الإفلات المؤقتة (محلية أو عمومية).
  • متغيرات الجدول التي تستخدم بيانات لأغراض التخزين.
  • تعمل الجداول المرتبطة بالمؤشرات.
  • تعمل الجداول المقترنة بجملة ORDER by.
  • تعمل الجداول المقترنة بجملة GROUP BY.
  • تعمل الملفات المرتبطة "خطط التجزئة".
قد يؤدي استخدام كثيف وأهمية هذه الأنشطة لمشكلات التنازع.

السبب

أثناء إنشاء الكائن، يجب تخصيص من حد مختلطة صفحات اثنين (2) وتعيينها إلى كائن جديد. صفحة واحدة لمخطط تخصيص الفهرس (IAM)، والثانية الصفحة الأولى للكائن. تتبع SQL Server نطاقات مختلطة باستخدام الصفحة المشتركة العمومية تخصيص مخطط (SGAM). يتتبع كل صفحة SGAM حوالي 4 غيغابايت من البيانات.

كجزء من تخصيص صفحة من مدى مختلط، يجب أن تفحص SQL Server الصفحة مساحة حرة من الصفحة (PFS) لمعرفة أي صفحة مختلطة مجاني لتخصيص. يتتبع الصفحة PFS المساحة الحرة المتوفرة على كل صفحة، وكل صفحة PFS بتعقب الصفحات حوالي 8000. يتم الاحتفاظ بالمزامنة المناسبة لإجراء تغييرات على الصفحات PFS و SGAM؛ والذي يعرقل معدلات أخرى لفترات قصيرة.

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

ملاحظة: يجب أيضا تعديل الأنشطة إلغاء تخصيص الصفحات التي يمكن أن تسهم في الادعاء بزيادة.

لمزيد من المعلومات حول آليات التوزيع المختلفة المستخدمة من قبل ملقم SQL (SGAM، حركة آتشيه الحرة، PFS، إدارة الهوية)، راجع قسم "المراجع" من هذه المقالة.

الحل

Microsoft SQL Server 2000


لتقليل تزاحم مورد التخصيص ل بيانات يواجه الاستخدام الكثيف، اتبع هذه الخطوات:
  1. تطبيق Service Pack 4 ل Microsoft SQL Server 2000. يتوفر SQL Server 2000 Service Pack 4 (SP4) في موقع Microsoft التالي على الويب:

    http://www.microsoft.com/downloads/details.aspx?FamilyId=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5

    للحصول على معلومات إضافية، انقر فوق رقم المقالة التالي لعرضها في "قاعدة معارف Microsoft":
    كيفية الحصول على أحدث حزمة خدمة ل SQL Server 2000 290211
  2. تطبيق علامة تتبع -T1118.
  3. زيادة عدد ملفات البيانات في بيانات لزيادة عرض النطاق الترددي القرص وتقليل الخلاف في هياكل التوزيع. وكقاعدة عامة، إذا كان عدد المعالجات المنطقية 8 أقل من أو تساوي 8، استخدم نفس العدد من ملفات بيانات المعالجات المنطقية. إذا كان أكبر من 8, ملفات البيانات 8 استخدام عدد المعالجات المنطقية وثم إذا استمر الخلاف، زيادة عدد ملفات البيانات بمضاعفات 4 (حتى عدد المعالجات المنطقية) حتى ينخفض إلى مستويات مقبولة الادعاء أو إجراء تغييرات على رمز حمل العمل.
ملاحظة: هذه الخطوات تنطبق أيضا على Microsoft SQL Server 7.0. والاستثناء الوحيد أن توجد أية الإصلاحات الضرورية ل SQL Server 7.0؛ ولذلك، لا يتم تطبيق الخطوة 1.

وفيما يتعلق بالخطوة 2، تتبع الاستخدام العلم-T1118 ل Microsoft SQL Server 7.0 قبل استخدام علامة تتبع، راجع المقالة التالية في "قاعدة المعارف ل Microsoft":
إصلاح 813492 : إنشاء فهرس فشل على SQL Server 7.0 عند تمكين التتبع إشارة 1118

Microsoft SQL Server 2005 والإصدارات الأحدث

لتقليل تزاحم مورد التخصيص ل بيانات يواجه الاستخدام الكثيف، اتبع الخطوات التالية:
  1. تنفيذ تتبع العلم-T1118.
  2. زيادة عدد ملفات البيانات في بيانات لزيادة عرض النطاق الترددي القرص وتقليل الخلاف في هياكل التوزيع. وكقاعدة عامة، إذا كان عدد المعالجات المنطقية أقل من أو تساوي 8، استخدم نفس العدد من ملفات بيانات المعالجات المنطقية. إذا كان أكبر من 8, ملفات البيانات 8 استخدام عدد المعالجات المنطقية وثم إذا استمر الخلاف، زيادة عدد ملفات البيانات بمضاعفات 4 (حتى عدد المعالجات المنطقية) حتى ينخفض إلى مستويات مقبولة الادعاء أو إجراء تغييرات على رمز حمل العمل.

مزيد من المعلومات

كيفية الإصلاح في SQL 2000 SP4 والإصدارات الأحدث يقلل التنازع

SQL Server 2000 Sp4 والإصدارات الأحدث يكون إصلاح الذي يقدم خوارزمية ذهاب وإياب لصفحة مختلطة. في الإصلاح، بداية الملف الآن ستكون مختلفة لكل تخصيص صفحات متعاقبة مختلط (في حالة وجود أكثر من ملف واحد). هذا يتجنب مشكلة التنازع بتقسيم القطار التي مر بها سجامس بنفس ترتيب كل مرة مع نفس نقطة البداية. خوارزمية تخصيص جديد SGAM خالص ذهاب وإياب، وعدم مراعاة تعبئة المتناسبة الاحتفاظ بسرعة. توصي Microsoft بإنشاء بيانات ملفات البيانات بنفس الحجم.

علامة تتبع كيفية التنفيذ-T1118 يقلل التنازع

إليك قائمة كيفية استخدام -T1118 يقلل التنازع:
  • -T1118 إعداد على مستوى الخادم.
  • تضمين -T1118 تتبع العلامة في معلمات بدء التشغيل ل SQL Server علامة تتبع تبقى سارية المفعول حتى بعد إعادة استخدام SQL Server.
  • -T1118 إزالة تقريبا كافة عمليات تخصيص صفحة واحدة على الخادم.
  • عن طريق تعطيل معظم عمليات تخصيص صفحة واحدة، يمكنك تقليل التنازع على الصفحة SGAM.
  • مع -T1118 تشغيل ON، يتم تنفيذ مخصصات جديدة تقريبا كل من صفحة حركة آتشيه الحرة (على سبيل المثال، 2:1:2) التي تخصيص ثمانية (8) الصفحات (مدى 1) في كل مرة إلى كائن بدلاً من صفحة واحدة من حد للصفحات الأولى ثمانية (8) كائن دون إشارة تتبع.
  • استخدام صفحات إدارة الهوية لا تزال عمليات تخصيص صفحة واحدة من صفحة SGAM، حتى مع -T1118 ON تشغيل. ومع ذلك، عندما يقترن الإصلاح العاجل 8.00.0702 و زيادة بيانات ملفات البيانات، الأثر الصافي انخفاض التنازع على الصفحة SGAM. لاهتمامات مساحة، راجع القسم "عيوب" من هذه المقالة.

زيادة عدد ملفات البيانات بيانات مع تغيير الحجم تساوي

إذا كان حجم ملف البيانات بيانات 5 غيغابايت، وحجم ملف السجل هو 5 غيغابايت، يوصي بزيادة ملف بيانات واحد إلى 10 (كل منها 500 ميغا بايت للحفاظ على تغيير الحجم متساوية)، وترك ملف السجل كما هو. وجود ملفات بيانات مختلفة على أقراص منفصلة سيكون جيدا. ومع ذلك، هذا غير مطلوب وأنها يمكن أن تتعايش على نفس القرص.

العدد الأمثل لملفات البيانات بيانات تعتمد على الدرجة التنازع في بيانات. كنقطة بداية، يمكنك تكوين بيانات مساوية على الأقل لعدد المعالجات التي تم تعيينها ل SQL Server. الأنظمة الخلفية أعلى (على سبيل المثال، الإجراء 16 أو 32)، يمكن أن يكون رقم البداية 10. إذا لم يتم خفض الادعاء، قد يلزم زيادة عدد مزيد من ملفات البيانات.

ملاحظة: معالج ثنائي المركز يعتبر معالجين.

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

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

كيفية زيادة عدد البيانات بيانات الملفات مع تغيير الحجم تساوي يقلل التنازع

إليك قائمة بكيفية زيادة عدد ملفات البيانات بيانات مع تغيير الحجم تساوي يقلل التنازع:
  • مع ملف بيانات واحد ل بيانات، لديك فقط صفحة حركة آتشيه الحرة، وصفحة SGAM واحدة لكل 4 غيغابايت من مساحة.
  • زيادة عدد ملفات البيانات بنفس أحجام
    إنشاء بيانات فعال واحد أو أكثر من حركة آتشيه الحرة و SGAM الصفحات لكل ملف بيانات.
  • خوارزمية تخصيص حركة آتشيه الحرة يعطي قدر واحد في مرة الواحدة (ثماني صفحات متجاورة) من عدد الملفات بشكل دوري أثناء التعامل مع تعبئة المتناسبة. إذا كان لديك ملفات الحجم تساوي 10، التخصيص الأولى هنا من File1، الثاني من File2، الثالث من File3، وهكذا.
  • يتم تقليل التنازع على الموارد الصفحة PFS لثماني صفحات باعتباره الكامل في كل مرة لأن حركة آتشيه الحرة هي تخصيص الصفحات.

العيوب

الجانب السلبي الوحيد للتوصيات المذكورة سابقا التي قد تراها حجم قواعد البيانات زيادة إذا تحققت الشروط التالية:
  • يتم إنشاء كائنات جديدة في قاعدة بيانات مستخدم.
  • كل كائنات جديدة تشغل أقل من 64 كيلو بايت من التخزين.
إذا تحققت هذه الشروط، يجوز تخصيص 64 كيلو بايت (8 صفحات * 8 كيلو بايت = 64 كيلو بايت) لكائن فقط يتطلب 8 كيلو بايت من المساحة، وبالتالي إهدار 56 كيلو بايت من التخزين. ومع ذلك، إذا كان يستخدم الكائن الجديد أكثر من 64 كيلو بايت (8 صفحات) في أنها عمر، هناك جانب سلبي لا علامة التتبع. ولذلك، في أسوأ الأحوال، SQL Server قد ينتهي تخصيص صفحات إضافية (7) أثناء التوزيع الأولى للكائنات الجديدة زيادة لا تتجاوز صفحة واحدة (1) فقط.


المراجع

لمزيد من المعلومات حول الحركة SGAM PFS وإدارة الهوية، راجع المواضيع التالية كتب SQL Server 2000:
  • "إدارة المساحة المستخدمة بواسطة الكائنات"
  • "إدارة قدر المخصصة والمساحة الحرة"
  • "الجدول وهندسة فهرس"
  • "الهياكل كومة الذاكرة المؤقتة"
مراجع إضافية

لمزيد من المعلومات حول قاعدة بيانات SQL Server 2005، قم بزيارة موقع MSDN التالي على الويب:

http://technet.microsoft.com/en-us/library/cc966545.aspx

لمزيد من المعلومات حول ملفات بيانات قاعدة البيانات وتتبع 1118 تلاج، قم بزيارة موقع MSDN التالي على الويب:

http://blogs.msdn.com/b/psssql/archive/2009/06/04/sql-server-tempdb-number-of-files-the-raw-truth.aspx

لمزيد من المعلومات حول كيفية استخدام 1118 إشارة تتبع في SQL Server 2005 و SQL Server 2008، قم بزيارة موقع MSDN التالي على الويب:

http://blogs.msdn.com/b/psssql/archive/2008/12/17/sql-server-2005-and-2008-trace-flag-1118-t1118-usage.aspx

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

http://blogs.msdn.com/b/sqlserverstorageengine/archive/2009/01/11/tempdb-monitoring-and-troubleshooting-allocation-bottleneck.aspx


خصائص

رقم الموضوع: 328551 - آخر مراجعة: 15‏/01‏/2017 - المراجعة: 1

Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Workgroup Edition

تعليقات