Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर के SET DEADLOCK_PRIORITY HIGH का सम्मान क्यों नहीं किया जाएगा?

ऐसा लगता है कि जो कमांड मारा जा रहा है वह एक वैकल्पिक विभाजन समारोह है, यह ध्यान रखना दिलचस्प है कि इसके लिए एक SCH-M लॉक की आवश्यकता होती है जो SCH-S लॉक के साथ असंगत है जो सब कुछ के लिए लिया जाता है। मुझे लगता है कि यह एक कारण हो सकता है।

देखें michaeljswart.com/2013/04/the-sch -एम-लॉक-इज़-एविल .

इसके अलावा एक वैकल्पिक विभाजन समारोह से एक SCH-M गतिरोध का विवरण और एक क्वेरी जो SQL 2014 और 2016 में एक आँकड़े अद्यतन का कारण बनती है, लेकिन शायद 2012 में भी सच है:डेडलॉक तब होता है जब आप अधिग्रहण करते हैं एक SCH-M लॉक

आपके ग्राफ़ को देखते हुए, एक प्रक्रिया में sysschobjs पर एक साझा (अपडेट) लॉक है और आपकी टेबल पर SCH-S लॉक की प्रतीक्षा कर रहा है। आपकी प्रक्रिया में आपकी टेबल पर SCH-M लॉक है और sysschobjs पर X लॉक की प्रतीक्षा कर रहा है। sysschobjs एक सिस्टम बेस टेबल है जो sysobjects के पीछे बैठता है। चर्चा यहां देखें तकनीक:SQL क्वेरी जो अक्सर गतिरोध का कारण बनती है

आशा है कि यह मदद करता है




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में 7 दिन के रोलिंग औसत के लिए SQL क्वेरी

  2. SQL सर्वर पर संग्रहीत कार्यविधि का अनुसूचित रन

  3. SQL सर्वर में XML दस्तावेज़ में नोड क्रम ढूँढना

  4. रिपोर्टिंग करते समय एसक्यूएल क्वेरी समस्या

  5. एसक्यूएल सर्वर समूह से पहली पंक्ति का चयन करें