मैं कैसे बता सकता हूं कि स्नैपशॉट अलगाव चालू है या नहीं?


34

SQL Server 2005/2008 में, मैं कैसे बता सकता हूं कि स्नैपशॉट अलगाव चालू है या नहीं? मुझे पता है कि इसे कैसे चालू किया जा सकता है, लेकिन मुझे स्नैपशॉट अलगाव के विकल्प की स्थिति के बारे में बताने के लिए Google को प्राप्त करने के लिए झुकाव नहीं मिल रहा है।

जवाबों:


6

ऑब्जेक्ट एक्सप्लोरर में डेटाबेस डायरेक्टरी पर राइट क्लिक करें और पावरशेल शुरू करें। प्रकार:
get-childitem|select name, snapshotisolationstate
और प्रेस वापसी


9
वाह, क्या वास्तव में PS आवश्यक है?
निक कवाडिया

66

वास्तव में, क्या? अच्छे राजभाषा 'टी-एसक्यूएल' के साथ क्या गलत है?

sys.dat डेटाबेस वह है जो आप चाहते हैं। इसमें स्नैपशॉट_सोलेशन_स्टैट_डेस जैसे मानव पठनीय विवरण कॉलम हैं

SELECT snapshot_isolation_state_desc from sys.databases 
where name='adventureworks'

2
नहीं, पूरी तरह से आवश्यक नहीं है, लेकिन मैं पीएस सीखना शुरू कर रहा हूं, इसलिए यह देखने के लिए कि यह कैसे किया जा सकता है और सोचा था कि मैं साझा करूँगा ..!
फादरजैक

जितना मैं इसे स्वीकार करने से नफरत करता हूं, यह अच्छा है
निक कवाडिया

सच कहूं, तो मुझे यह देखने के लिए संघर्ष करना पड़ रहा है कि मेरे पास बहुत से उपयोग होने जा रहे हैं, हमारे पास केवल 30ish सर्वर हैं। अगर मुझे हर सर्वर पर हर डेटाबेस से स्नैपशॉट अलगाव चाहिए था, तो मुझे लगता है कि पीएस टी-एसक्यूएल से बेहतर हो सकता है .. अभी के लिए मैं इसे सिर्फ एक विकल्प के रूप में देख रहा हूं, मैं इसे यहां उपयोग करूंगा और मुझे उम्मीद है।
फादरजैक

मैं संपादित नहीं कर सकता क्योंकि यह छह-वर्ण परिवर्तन से कम है, लेकिन क्वेरी को कॉपी और पेस्ट करने वाली अन्य भ्रमित आत्माओं के लिए, ध्यान दें कि यह sys.database s होना चाहिए और sys.database नहीं।
मार्क सोउल

15

ऊपर से nicks की प्रतिक्रिया पर विस्तार ।।

निम्नलिखित आपके सभी डेटाबेस के बारे में जानकारी लौटाएगा

    select name
        , s.snapshot_isolation_state
        , snapshot_isolation_state_desc
        , is_read_committed_snapshot_on
        , recovery_model
        , recovery_model_desc
        , collation_name
    from sys.databases s

3

या T-SQL कोड का उपयोग कर:

SELECT
'Current Isolation State:' [ ],
CASE is_read_committed_snapshot_on
        WHEN 1 THEN 'ON' ELSE 'OFF'
    END AS [Read Committed Snapsot State]
FROM sys.databases
WHERE name = 'MyDatabaseName'

2
यह उत्तर read_committed_snapshot के लिए है, स्नैपशॉट अलगाव स्तर के लिए नहीं, जैसे कि ओपी ने अनुरोध किया है। वे दो अलग-अलग चीजें हैं।
केविन कालिटोवस्की

0

परीक्षण कैसे करें कि स्नैपशॉट लेनदेन अलगाव स्तर सक्षम है या नहीं

यह जाँचने के लिए कि स्नैपशॉट लेनदेन अलगाव स्तर सक्षम है या नहीं, इन चरणों का पालन करें:

  1. SQL सर्वर प्रोफाइलर प्रारंभ करें।
  2. विश्लेषण सेवा परियोजना में आपके द्वारा निर्दिष्ट डेटा स्रोत से कनेक्ट करने के लिए एक नया ट्रेस बनाएं।
  3. में ट्रेस गुण संवाद बॉक्स में, क्लिक करें घटनाक्रम चयन टैब।
  4. TransactionID कॉलम में, SQL के लिए पंक्ति में चेक बॉक्स को चुनने के लिए क्लिक करें: BatchCompleted इवेंट और SQL के लिए पंक्ति में: BatchStarting इवेंट।

नोट TransactionID कॉलम प्रदर्शित करने के लिए, सभी कॉलम दिखाएँ चेक बॉक्स को चुनने के लिए क्लिक करें ।

  1. ट्रेस प्रारंभ करने के लिए चलाएँ क्लिक करें ।
  2. बिजनेस इंटेलिजेंस डेवलपमेंट स्टूडियो में, विश्लेषण सेवा परियोजना की प्रक्रिया करें।

  3. SQL सर्वर Profiler में, SQL: BatchCompleted इवेंट्स और SQL के लिए देखें: BatchStarting ईवेंट जो TransactionID कॉलम में समान मान रखते हैं। आमतौर पर, इन घटनाओं में टेक्स्टडेटा कॉलम में सेलेक्ट स्टेटमेंट होता है। इन घटनाओं के लिए, SPID कॉलम में सत्र आईडी प्राप्त करें।

  4. डेटा स्रोत से कनेक्ट करने के लिए, SQL सर्वर प्रबंधन स्टूडियो प्रारंभ करें।

  5. एक नई क्वेरी बनाएँ, और उसके बाद निम्नलिखित Transact-SQL कथन चलाएँ।

    session_id का चयन करें, sysinos_exec_sessions से Transaction_Isolation_Level जहां session_id =

नोट इस कथन में, सत्र ID के लिए एक प्लेसहोल्डर है जिसे आपने चरण 7 में प्राप्त किया है।

  1. पर परिणाम टैब, Transaction_Isolation_Level स्तंभ में मान को नोट करें। यह मान लेन-देन अलगाव स्तर को इंगित करता है जो आप विश्लेषण सेवा परियोजना में उपयोग कर रहे हैं। जब स्नैपशॉट लेन-देन आइसोलेशन स्तर सक्षम होता है, तो Transaction_Isolation_Level कॉलम में मान 5 होता है।

निम्न तालिका Transaction_Isolation_Level कॉलम और संबंधित लेन-देन अलगाव स्तरों में मूल्यों को दिखाती है।

लेन-देन अलगाव स्तर दिखा तालिका

https://support.microsoft.com/en-us/help/919160/how-to-enable-the-snapshot-transaction-isolation-level-in-sql-server-2

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.