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

SQL सर्वर ब्लॉकिंग क्या है?

SQL सर्वर अवरोधन SQL सर्वर डेटाबेस सिस्टम का एक सामान्य लक्षण है। ब्लॉकिंग तब होती है जब SQL सर्वर एक से अधिक क्लाइंट से अनुरोधों की सेवा कर रहा होता है और विभिन्न प्रक्रियाएं एक ही समय में समान संसाधनों का अनुरोध करती हैं। यदि कोई संसाधन उपयोग में है, तो वह लॉक है और बाद के अनुरोधों के लिए अनुपलब्ध है, इसलिए संसाधन जारी होने और फिर से उपलब्ध होने तक प्रक्रिया में देरी हो रही है। SQL सर्वर ब्लॉक आमतौर पर प्रदर्शन पर ध्यान देने योग्य प्रभाव के बिना खुद को हल करता है। हालांकि, कभी-कभी, ब्लॉक प्रदर्शन को खराब कर देते हैं क्योंकि या तो प्रारंभिक प्रक्रिया संसाधन को जारी करने से पहले एक विस्तारित अवधि के लिए लॉक कर देती है या क्योंकि प्रारंभिक प्रक्रिया संसाधन को बिल्कुल भी जारी नहीं करती है, जो ब्लॉक होने तक संसाधनों को दुर्गम बना देती है। मैन्युअल रूप से हल किया गया।

जब संसाधनों का एक समूह काफी समय के लिए अवरुद्ध हो जाता है, तो प्रदर्शन की गुणवत्ता इस हद तक कम हो जाती है कि सिस्टम उपयोगकर्ता मुद्दों को नोटिस करना शुरू कर देते हैं। इन मुद्दों में ऐसी चीजें शामिल हैं जैसे प्रश्नों को चलने में लंबा समय लग रहा है या समय समाप्त हो रहा है या उपयोगकर्ता अपने द्वारा संशोधित स्क्रीन को सहेजने में असमर्थ हैं।

SQL सर्वर ब्लॉक कैसे ठीक करें

SQL सर्वर ब्लॉकिंग का शॉर्ट-टर्म सॉल्यूशन यह है कि जब आप नोटिस करते हैं कि किसी ब्लॉक या ब्लॉक से प्रदर्शन नकारात्मक रूप से प्रभावित हो रहा है, तो लेन-देन को पहचानना और मैन्युअल रूप से अनब्लॉक करना है।

एक बार जब आप SQL सर्वर ब्लॉक की उपस्थिति की पुष्टि कर लेते हैं, तो SQL सर्वर गतिविधि मॉनिटर की जाँच करें और उन प्रश्नों को मार दें जो सबसे अधिक परेशानी पैदा कर रहे हैं। आप SQL सर्वर पर लॉकिंग और ब्लॉकिंग की स्थिति को लगातार मॉनिटर करने के लिए SQL स्क्रिप्ट का भी उपयोग कर सकते हैं। ब्रेंट ओज़र कुछ ब्लॉकिंग-विशिष्ट प्रदर्शन काउंटर जोड़ने का सुझाव देता है ताकि SQL सर्वर आपको सूचित करेगा जब आप अपने निर्दिष्ट अवरोधन थ्रेसहोल्ड को पार कर लेंगे।

SQL सर्वर ब्लॉक को कैसे रोकें

डेटाबेस व्यवस्थापक के लिए यह जानना उपयोगी है कि SQL सर्वर ब्लॉक को कैसे ठीक किया जाए। लेकिन एक उच्च-प्रदर्शन प्रणाली को बनाए रखने के लिए, यह जानना और भी बेहतर है कि अवरुद्ध होने की घटना को कैसे रोका जाए - या कम से कम कैसे किया जाए। यहां कुछ सामान्य प्रकार के SQL सर्वर अवरोधन को कम करने के लिए चार युक्तियां दी गई हैं:

<एच3>1. अनुक्रमणिका का उपयोग करें

उच्च-उपयोग वाली तालिकाओं में क्लस्टर किए गए इंडेक्स का उपयोग क्वेरी ऑप्टिमाइज़र को इंडेक्स स्कैन के बजाय इंडेक्स सीक चलाने के लिए प्रेरित करके ब्लॉकिंग को कम करने में मदद करता है। जब केवल अपडेट किया जा रहा रिकॉर्ड लॉक होता है, तो बाद की प्रक्रियाएं लॉक को दरकिनार कर सकती हैं और पूरी की जा सकती हैं।

यह सुनिश्चित करना भी महत्वपूर्ण है कि UPDATE और DELETE स्टेटमेंट इंडेक्स का उपयोग करते हैं। इंडेक्स अपडेट करने में मदद करते हैं और स्टेटमेंट्स को हटाने के लिए नॉनक्लस्टर इंडेक्स या इंडेक्स संकेतों का उपयोग करके प्राप्त किए गए संशोधन लॉक की संख्या को कम करते हैं।

<एच3>2. अपने प्रश्नों को साफ़ करें

SQL सर्वर ब्लॉक से बचने के लिए सबसे अच्छा अभ्यास लंबे लेनदेन को कई छोटे लेनदेन में विभाजित करना है। लंबे समय तक चलने वाली क्वेरीज़ लेन-देन की अवधि के लिए लॉक रखती हैं, जिससे संसाधन अन्य प्रक्रियाओं के लिए अनुपलब्ध हो जाता है। लंबे लेन-देन को छोटे में विभाजित करने से डेटा गतिमान रहता है।

प्रश्नों को यथासंभव कुशल बनाने के लिए SQL सर्वर ट्यूनिंग का उपयोग करने पर विचार करें। एक अच्छा क्वेरी ऑप्टिमाइज़र क्वेरी को तब तक लिखेगा और फिर से लिखेगा जब तक कि वे प्रदर्शन को धीमा करने वाले ब्लॉकों की संख्या को कम करने के लिए कॉन्फ़िगर नहीं हो जाते।

<एच3>3. SQL सर्वर के अवरुद्ध होने के मूल कारण की पहचान करें

समय के साथ प्रदर्शन मेट्रिक्स को ट्रैक करना SQL सर्वर ब्लॉकिंग से बचने का एक शानदार तरीका है। यह पता लगाकर कि कौन से सत्र अक्सर अवरुद्ध होते हैं और कौन से कथन शामिल हैं, आप अनुक्रमण, क्वेरी अनुकूलन, या अन्य माध्यमों के माध्यम से आवर्ती ब्लॉकों के मूल कारणों को दूर करने के लिए कार्रवाई का एक तरीका निर्धारित कर सकते हैं।

अवरुद्ध करने के मूल कारण को देखने का दूसरा स्थान सिस्टम का कार्यभार है। कोई वृद्धि हुई है या नहीं यह निर्धारित करने के लिए कार्यभार विश्लेषण चलाएँ। बहुत अधिक कार्यभार के कारण SQL सर्वर अवरुद्ध हो जाएगा क्योंकि प्रश्नों की बढ़ती संख्या लॉक किए गए संसाधनों तक पहुंच की प्रतीक्षा कर रही है। भारी कार्यभार प्रदर्शन समस्याओं को हल करने के लिए आपको कई डेटाबेस में अनुक्रमणिका जोड़ने या कार्यभार वितरित करने की आवश्यकता हो सकती है।

<एच3>4. अपने आंकड़े अप टू डेट रखें

पुराने आंकड़े अक्षम क्वेरी योजनाओं को चलाने के लिए ट्रिगर कर सकते हैं क्योंकि परिवर्तन के लिए योजना को अद्यतन नहीं किया गया था। SQL सर्वर स्थानांतरित या अनुपलब्ध डेटा को देखने के लिए खोज क्रॉल लॉन्च करेगा, जो बदले में ब्लॉक बनाएगा।

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

SQL सर्वर अवरोधन DBA जीवन का एक तथ्य हो सकता है, लेकिन आपके SQL सर्वर डेटाबेस प्रदर्शन पर इसके प्रभाव को कम करने के तरीके हैं। ऊपर चर्चा की गई कुछ रणनीतियों को लागू करके ब्लॉक-अनब्लॉक चक्र को तोड़ें। थोड़ी सी योजना, अनुकूलन और स्वचालन के साथ, 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 सर्वर में एक ट्रिगर से ईमेल भेजें (T-SQL)

  2. सम्मिलित रिकॉर्ड की आईडी पुनर्प्राप्त करें:Php और MS SQL सर्वर

  3. यादृच्छिक तिथि के साथ पंक्तियों को कैसे अपडेट करें

  4. SQL सर्वर में उपलब्ध विभिन्न प्रकार की बाधाएँ क्या हैं - SQL सर्वर / T-SQL ट्यूटोरियल भाग 50

  5. एक दृश्य में संग्रहीत प्रक्रिया को कैसे कॉल करें?