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

SQL सर्वर:संग्रहीत प्रक्रिया में गंदे पढ़ने को रोकना

आप गंदे पढ़ने को नहीं रोक सकते। ईमानदार, प्रतिबद्ध पढ़ने, पढ़ने को रोकने के लिए लेखक अनन्य ताले लेते हैं। लेकिन कुछ नहीं है आप गंदे पठन को रोकने के लिए कर सकते हैं। गंदा पाठक को गंदा पढ़ना बंद करना होगा, अवधि।

यह मानते हुए कि ग्राहक तालिका का चुनाव करने वाला कोड आपके नियंत्रण में है, समाधान क्वेरी से गंदे पढ़ने के संकेत को हटाना है। यह संभवत:विवाद का कारण बनेगा, क्योंकि मतदान अब लेखन पर रोक लगा देगा। इसके लिए सबसे अच्छा समाधान है पंक्ति वर्शनिंग को सक्षम करना :

ALTER DATABASE [<DBNAME>] SET ALLOW_SNAPSHOT_ISOLATION ON; 
ALTER DATABASE [<DBNAME>] SET READ_COMMITTED_SNAPSHOT ON;

फिर ग्राहक से सामान्य प्रश्न के रूप में मतदान करें, किसी भी संकेत के साथ। आपका पोल लिखने के पीछे नहीं रुकेगा क्योंकि पंक्ति-संस्करण शुरू हो जाएगा और क्वेरी स्कैन को पंक्ति के एक पूर्व-अपडेट, गैर-लॉक संस्करण पर पुनर्निर्देशित कर देगा।

एक और नोट:हर 500ms पर मतदान? शायद आपको अपने कैश को अमान्य करने के लिए क्वेरी सूचना तंत्र का उपयोग करना चाहिए, देखें The Mysterious अधिसूचना



  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 सर्वर में वर्ष के दिन को डेटाटाइम में बदलें

  2. एसक्यूएल सर्वर - सारांशित पंक्तियों की आईडी प्राप्त करें

  3. SQL सर्वर में लॉजिकल या ऑपरेटर क्या है - SQL सर्वर / TSQL ट्यूटोरियल पार्ट 119

  4. लॉगिन नाम, डेटाबेस उपयोगकर्ता नाम, या sqlserver डोमेन उपयोगकर्ता की भूमिकाएं कैसे खोजें जिनके पास अपना लॉगिन नहीं है?

  5. फाइलस्ट्रीम का उपयोग करके बड़ी मात्रा में डेटा का प्रबंधन कैसे करें क्योंकि डेटा संग्रहण के लिए केवल स्थानीय पथ समर्थित हैं?