بدء استخدام مساعد ضبط الاستعلام (QTA)

مكتمل

تخطط لترحيل قاعدتي بيانات إنتاج من SQL Server 2012 إلى مثيل SQL Server 2022 جديد. نظرا لأن قواعد البيانات قيد الاستخدام، فأنت تريد ترك مستويات التوافق في الإعدادات الأصلية في البداية وإعادة تعيين التطبيقات. تم تغيير أداة تقدير العلاقة الأساسية منذ SQL Server 2014، وتريد قياس أداء الاستعلام قبل تغيير مستوى توافق قواعد البيانات إلى SQL Server 2022 (160).

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

يؤدي تمكين Query Store إلى جمع المقاييس التي تحتاجها للعثور على استعلامات التراجع، ويرشدك استخدام مساعد ضبط الاستعلام (QTA) خلال إصلاح الاستعلامات المتراجعة. توفر هذه الوحدة نظرة عامة على Query Store وQTA.

نظرة عامة على مخزن الاستعلام

تم تقديم ميزة Query Store في SQL Server 2016 لجمع المعلومات باستمرار حول تنفيذ الاستعلامات وأدائها داخل قواعد البيانات. يعمل Query Store مثل مسجل بيانات الرحلة لجمع معلومات وقت التشغيل حول الاستعلامات والخطط. إذا قمت بحفظ بيانات وقت التشغيل هذه، يمكنك تتبع الأداء بمرور الوقت. إذا حدث خطأ ما، فهناك تاريخ للمعلومات لاكتشاف سبب المشكلة.

بدءا من SQL Server 2022، وفي Azure SQL Database وSQL Managed Instance، يتم تمكين Query Store لقواعد البيانات الجديدة بشكل افتراضي. في SQL Server 2016 وSQL Server 2017 وSQL Server 2019، لا يتم تمكين Query Store بشكل افتراضي، ولكن يمكن لأي قاعدة بيانات موجودة على مثيل SQL Server 2016 أو أعلى تمكين Query Store وتعطيله وتكوينه. راجع الوحدة التالية للحصول على إرشادات حول كيفية تمكين Query Store أو تأكيد تكوينه على قاعدة بيانات.

يمكن أن يعمل Query Store على قواعد بيانات ذات مستويات توافق سابقة من مثيل SQL Server. على سبيل المثال، إذا قمت بترحيل قاعدة بيانات من SQL Server 2012 إلى SQL Server 2022 وتركت مستوى التوافق عند 110، فلا يزال بإمكان Query Store العمل على قاعدة البيانات.

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

عند تمكينه على قاعدة بيانات، يجمع Query Store الإحصائيات التالية للاستعلامات الخاصة بك ويبلغها:

  • الاستعلامات التي تم التراجع عنها
  • استهلاك الموارد الإجمالية
  • استعلامات استهلاك أعلى الموارد
  • استعلامات مع خطط إجبارية
  • الاستعلامات ذات التغير (التباين) العالي
  • الاستعلام عن إحصائيات الانتظار
  • الاستعلامات المتعقبة

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

قبل Query Store، لم يقدم SQL Server أي نظرة ثاقبة على سبب التراجعات، وكان تحديد المشكلات مشكلة لمطوري قواعد البيانات والمسؤولين. يمكنك الآن استخدام Query Store للعثور على الاستعلامات المتراجعة وإجبار المحسن على استخدام خطة معينة من المحفوظات.

من الشائع أن يستهلك عدد قليل من الآلاف من الاستعلامات معظم موارد النظام. يحدد Query Store الاستعلامات التي لها أعلى استهلاك، إما بسبب الانحدار أو بسبب الضبط الضعيف. اعتمادا على التكوين، يمكنك تصفية النتائج حسب المدة أو وحدة المعالجة المركزية أو الذاكرة أو الإدخال/الإخراج أو عدد عمليات التنفيذ.

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

نظرة عامة على مساعد ضبط الاستعلام

يستخدم مساعد ضبط الاستعلام (QTA) بيانات من مخزن الاستعلام للعثور على الاستعلامات التي بدأت في التراجع. تختبر ميزة مساعد ضبط الاستعلام تلقائيا للعثور على حل يسرع الاستعلام، قبل أن يتخلف الاستعلام عن الأداء إلى حد التأثير على المستخدمين.

يمكنك استخدام Query Store وQTA لمراقبة أداء قاعدة البيانات وتحسينه بعد الترقية. بعد ترحيل قاعدة بيانات إلى SQL Server 2016 أو إصدار أحدث، يمكنك ترك مستوى توافق قاعدة البيانات دون تغيير، وتمكين Query Store من جمع إحصائيات أداء الاستعلام الأساسي.

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

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

الملخص

يقيس Query Store باستمرار إحصائيات أداء استعلاماتك، تماما كما يلتقط مسجل بيانات الرحلة الخاص بالطائرة النشاط. يمكنك تمكين Query Store على أي قاعدة بيانات على SQL Server 2016 أو أعلى، بغض النظر عن مستوى التوافق. استخدم Query Store لمراقبة أداء الاستعلام باستمرار، ولاختبار A/B لقياس تأثيرات تغيير واحد.

عند ترقية قاعدة بيانات إلى SQL Server 2014 أو أعلى، قد تؤدي التغييرات التي تم إجراؤها على مقدر العلاقة الأساسية إلى إبطاء الاستعلامات التي كانت سريعة في إصدار SQL Server السابق. من الناحية المثالية، تريد العثور على أي تراجعات وإصلاحها قبل أن تؤثر على المستخدمين. يُقصد بتمكين ميزة Query Store في قواعد البيانات لديك أنه يتم جمع الإحصائيات باستمرار بشأن الاستعلامات. يمكنك بعد ذلك استخدام QTA لتحديد الاستعلامات المتراجعة وإصلاحها قبل أن تصبح مشكلة.