الأعراض
بشكل افتراضي، يتم تشغيل نقاط البحث غير المباشرة لقاعدة بيانات tempdb في Microsoft SQL Server 2016 و2017. في ظل ظروف حمل العمل الكثيف، قد يحدث خطأ "مجدول غير محدث" ويظهر sys.dm_os_spinlock_stats DMV محتوى زيادة ونقصان نوع القفل DP_LIST زيادة ونقصان.
الحل
يتم تضمين هذا الإصلاح في التحديثات وحزمة الخدمة التالية:
-
التحديث التراكمي 5 ل SQL Server 2016 Service Pack 1
-
التحديث التراكمي 8 ل SQL Server 2016
معلومات حزمة الخدمة ل SQL Server 2016
حول بنى SQL Server
يحتوي كل بناء جديد ل SQL Server على جميع الإصلاحات وإصلاحات الأمان التي كانت في الإصدار السابق. نوصي بتثبيت التحديثات التراكمية الأخيرة ل SQL Server:
حزم الخدمات تراكمية. تحتوي كل حزمة خدمة جديدة على جميع الإصلاحات في حزم الخدمات السابقة، بالإضافة إلى أي تصحيحات جديدة. توصيتنا هي تطبيق حزمة الخدمة الأخيرة والتحديث التراكمي الأخير لحزمة الخدمة هذه. لن تحتاج إلى تثبيت حزمة خدمة سابقة قبل تثبيت حزمة الخدمة الأخيرة. استخدم الجدول 1 في المقالة التالية للحصول على مزيد من المعلومات حول حزمة الخدمة الأخيرة والتحديث التراكمي الأخير.
كيفية تحديد مستوى الإصدار والإصدار والتحديث ل SQL Server ومكوناته
الحل البديل
كعمل على حل هذه المشكلة، قم إيقاف تشغيل نقاط التصد غير المباشرة في قاعدة بيانات tempdb باستخدام إحدى عبارات لغة تعريف البيانات (DDL) التالية.
يجب أن يتم ذلك كما يلي:
-
في قاعدة بيانات modeldb (هذا أيضا يغير القيمة الافتراضية لقواعد البيانات الجديدة)، تشغيل العبارة التالية:ALTER DATABASE [model] SET TARGET_RECOVERY_TIME = 0 MINUTES
-
أو مباشرة على قاعدة بيانات tempdb في كل مرة يبدأ فيها المثيل باستخدام SQL Server Agent باستخدام العبارة التالية:ALTER DATABASE [tempdb] SET TARGET_RECOVERY_TIME = 0 MINUTES
-
أو، إصدار نقاط التحقق اليدوية بشكل دوري مقابل قاعدة بيانات tempdb باستخدام العبارة التالية:use tempdb
go checkpoint
go
بالإضافة إلى ذلك، يمكن استخدام TF 3468 لتعطيل نقطة النقطة غير المباشرة في tempdb.
الحالة
أقرت Microsoft أن هذه المشكلة تحدث في منتجات Microsoft المسردة في المقطع "تنطبق على".
المراجع
تعرف على المصطلحات التي تستخدمها Microsoft لوصف تحديثات البرامج. راجع المقالات التالية للحصول على مزيد من المعلومات: