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