تصحيح: إنقاص الأداء بعد "تغيير الفهرس"... تم إحباط العملية عبر الإنترنت في SQL Server 2012 أو SQL Server 2014

إعمل في أي مكان من أي جهاز باستخدام Microsoft 365

الترقية إلى Microsoft 365 للعمل في اي مكان بأخر الميزات والتحديثات.

الترقية الآن

الخطأ رقم: 201049 (تعديل المحتوى) VSTS:1972462

الأعراض

يرجى مراعاة السيناريو التالي:

  • تشغيل "تغيير الفهرس"... متصل الاستعلام في Microsoft SQL Server 2012 أو 2014 ملقم SQL.

  • تم إيقاف هذا الاستعلام بسبب حالة توقف تام أو إجراء بدؤه من قبل المستخدم، مثل تشغيل أمر إنهاء العمل أو إلغاء الاستعلام.

في هذا السيناريو، أي عمليات DML يلزم استخدام بيانات تعريف فهرس المحظورة أو يستغرق وقتاً طويلاً لتكتمل.

بالإضافة إلى ذلك، قد تواجه الأعراض التالية:

  • القيم العالية ل PWAIT_MD_RELATION_CACHE أو MD_LAZYCACHE_RWLOCK نوع الانتظار عند الاستعلام آراء إدارة الحيوي sys.dm_os_wait_stats و sys.dm_exec_requests (DMV)

  • القيم العالية ل SOS_RW نوع الانتظار عند الاستعلام sys.dm_os_spinlock_stats دي أم

عادة ما يتم ملاحظة المشكلة قافلة تأمين عند كل استعلام DML جديد بمسح كائنات المزامنة ببطء. وبسبب طبيعة الانتظار كائنات المزامنة، استخدام CPU يقتصر عادة.

الحل

معلومات التحديث التراكمي

تم تصحيح هذه المشكلة أولاً في التحديث التراكمي التالية من SQL Server.

التحديث التراكمي 1 ل SQL Server 2014/en-us/help/2931693

التحديث التراكمي 9 ل SQL Server 2012 SP1/en-us/help/2931078

يحتوي التحديث التراكمي كل جديدة ل SQL Server على كافة الإصلاحات العاجلة وكافة إصلاحات الأمان التي تم تضمينها مع التحديث التراكمي السابق. تحقق من أحدث التحديثات التراكمية ل SQL Server:


معلومات الإصلاح العاجل
يتوفر إصلاح عاجل معتمد من Microsoft. ومع ذلك، يهدف هذا الإصلاح العاجل إلى حل المشكلة الموضحة في هذه المقالة فقط. تطبيق هذا الإصلاح العاجل فقط على الأنظمة التي تواجه هذه المشكلة بالتحديد.

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

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

http://support.microsoft.com/contactus/?ws=supportملاحظة: يعرض النموذج "توفر تنزيل الإصلاح العاجل" اللغات التي يتوفر بها الإصلاح الجديد. في حالة عدم ظهور اللغة الخاصة بك، يكون بسبب عدم توفر إصلاح عاجل لتلك اللغة.

هام بعد تطبيق هذا الإصلاح العاجل، "تغيير الفهرس"... متصل يمكن إيقاف الاستعلام دون تقليل أداء ملقم SQL.

الحل البديل

للتغلب على هذه المشكلة، يمكنك مسح إدخال بيانات التعريف لمنع تأمين القافلة ودورات إعادة ترجمة المحتملة التي تؤدي إلى تقليل أداء الاستعلام. للقيام بذلك، استخدم إحدى الطرق التالية للمساعدة على القضاء على إدخال بيانات التعريف:

  • قم بإعادة تشغيل مثيل SQL Server 2012 أو 2014 ملقم SQL.

  • وضع مشكوك قاعدة البيانات في حالة عدم الاتصال ومن ثم جعلها في وضع الاتصال مرة أخرى.

الحالة

أقرت Microsoft أن هذه مشكلة في منتجات Microsoft المسردة في قسم "ينطبق على".

معلومات مكدس الاستدعاءاتntdll!ZwSignalAndWaitForSingleObject+0xakernel32!SignalObjectAndWait+0x110
sqldk!SystemThread::SignalAndWait+0x2a
sqldk!SOS_Scheduler::Switch+0xb5
sqldk!SOS_Scheduler::SuspendNonPreemptive+0xd2
sqldk!SOS_Scheduler::Suspend+0x20
sqldk!EventInternal<SuspendQueueSLock>::Wait+0x2bc
sqldk!SOS_RWLock::GetLongWait+0x10b
sqlmin!SOS_RWLock::GetLock+0x1319e1
sqlmin!AutoRWLock::GetLock+0x1319e1
sqlmin!MDAutoRWLock::AcquireLock+0x129
sqlmin!MDAutoRWLock::GetReadLock+0xe
sqlmin!CMEDIndex::Release+0xc1
sqlmin!CMEDIndexStatsCollection::GetProxyIndexInternal+0x294
sqlmin!CMEDIndexStatsCollection::GetNextIndexWithLock+0x4b9
sqlmin!CMEDProxyRelation::GetNextIndexWithLock+0x1c
sqlmin!CMEDProxyRelation::GetNextIndex+0x71
sqllang!CTableMetadata::GatherIndexes+0x948
sqllang!CTableMetadata::LoadMetadata+0x10a
sqllang!CLogOp_Stats::DeriveGroupProperties+0x4b
sqllang!CLogOp_Get::DeriveGroupProperties+0x1d
النظر في رولوك، نرى ما يلي:0:308> dt 0x00000070`6bb435b8 SOS_RWLock +0x000 m_lock : RWSLock
+0x008 m_waiters : SEList<SOS_RWLock::RWLockWaiter,0>
+0x018 m_currentReaders : 3
+0x01c m_waitingWriters : 0xe
+0x020 m_mode : 1 ( RWLOCK_READ )
+0x028 m_pExclusiveOwner : (null)

Author:jannaw;
الكاتب: الخامس-شيسون
المراجع التقني: دور بوب؛ بوب وارد؛ أجايج؛ سوريشكا؛ راماكوني؛ جانو؛ سقلبريف
المحرر: الخامس-جيسيتس

هل تحتاج إلى مزيد من المساعدة؟

توسيع المهارات
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى Microsoft Insider

هل كانت المعلومات مفيدة؟

نشكرك على ملاحظاتك!

شكراً لك على الملاحظات! يبدو أنه من المفيد إيصالك بأحد وكلاء دعم Office لدينا.

×