الأعراض
قد يفشل التنظيف التلقائي لتخزين الاستعلام في إصدارات SQL Server 2016 بخلاف المؤسسات والمطور. ولذلك ، إذا لم يتم حذف البيانات يدويا ، سيزداد حجم المساحة المستخدمة بواسطة مخزن الاستعلامات مع الوقت حتى يتم الوصول إلى الحد المكون. إذا لم يتم حل هذه المشكلة ، سيتم أيضا تعبئة مساحة القرص المخصصة لسجلات الأخطاء ، لان كل محاولة لتشغيل التنظيف ستنتج ملف تفريغ. تعتمد فتره تنشيط التنظيف علي تكرار حمل العمل. ومع ذلك ، لا يتجاوز هذا الأمر 15 دقيقه.
الحل
تم تضمين تصحيح لهذه المشكلة في التحديث التراكمي التالي ل SQL Server:
يحتوي كل تحديث تراكمي جديد ل SQL Server علي كل الإصلاحات العاجلة وكل تصحيحات الأمان التي تم تضمينها في التحديث التراكمي السابق. اطلع علي آخر التحديثات التراكمية ل SQL Server:
الحل البديل
لحل هذه المشكلة إذا كنت تخطط لاستخدام مخزن الاستعلامات علي الإصدارات الأخرى غير الخاصة بالمؤسسة والمطور ، فيجب إيقاف تشغيل نهج التنظيف بوضوح. يمكنك القيام بذلك من SQL Server Management Studio (صفحه خصائص قاعده البيانات) أو باستخدام البرنامج النصي للعمليات التالية:
تغيير database_name قاعده البيانات تعيين QUERY_STORE (OPERATION_MODE = READ_WRITE ، CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = 0) ، SIZE_BASED_CLEANUP_MODE = OFF)بالاضافه إلى ذلك ، خذ في الاعتبار خيارات التنظيف اليدوية لمنع تخزين الاستعلام من الانتقال إلى وضع القراءة فقط. علي سبيل المثال ، قم بتشغيل الاستعلام التالي لتنظيف الداتاسبيس بشكل دوري:
تغيير database_name قاعده البيانات تعيين QUERY_STORE المسحأيضا ، قم بتشغيل الاستعلام التالي بشكل دوري لتخزين الإجراءات المخزنة لتنظيف إحصائيات وقت التشغيل أو الاستعلامات المحددة أو الخطط:
-
sp_query_store_reset_exec_stats
-
sp_query_store_remove_plan
-
sp_query_store_remove_query
الحالة
أقرت Microsoft أن هذه المشكلة تحدث في منتجات Microsoft المسردة في المقطع "تنطبق على".
المراجع
تعرف علي المصطلحات التي تستخدمها Microsoft لوصف تحديثات البرامج.