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

SQL सर्वर 2005 लेनदेन स्तर और संग्रहीत कार्यविधियाँ

कॉल किए जाने पर संग्रहीत प्रक्रिया प्रभावी रूप से लेनदेन अलगाव का उपयोग करेगी।

यदि संग्रहीत कार्यविधि स्वयं एक स्पष्ट अलगाव स्तर सेट करती है, तो संग्रहीत कार्यविधि के बाहर निकलने पर इसे रीसेट कर दिया जाएगा।

(संपादित करें:अभी-अभी चेक किया गया है और यह BOL के शब्दों के विपरीत है। "... यह उस कनेक्शन के लिए तब तक सेट रहता है जब तक कि इसे स्पष्ट रूप से नहीं बदला जाता" लेकिन नीचे से देखा जा सकता है)

CREATE PROC CheckTransLevel
AS
DECLARE @Result varchar(20)

SELECT @Result = CASE transaction_isolation_level 
                        WHEN 0 THEN 'Unspecified' 
                        WHEN 1 THEN 'ReadUncomitted' 
                        WHEN 2 THEN 'Readcomitted' 
                        WHEN 3 THEN 'Repeatable' 
                        WHEN 4 THEN 'Serializable' 
                        WHEN 5 THEN 'Snapshot' 
                  END 
FROM sys.dm_exec_sessions 
WHERE session_id = @@SPID

PRINT @Result

GO
CREATE PROC SetRCTransLevel
AS
PRINT 'Enter: SetRCTransLevel'
SET TRANSACTION ISOLATION LEVEL READ COMMITTED
EXEC CheckTransLevel
PRINT 'Exit: SetRCTransLevel'
GO

SET NOCOUNT ON

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

EXEC CheckTransLevel

EXEC SetRCTransLevel

EXEC CheckTransLevel

परिणाम

ReadUncomitted
Enter: SetRCTransLevel
Readcomitted
Exit: SetRCTransLevel
ReadUncomitted



  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. उत्पादन के लिए एसक्यूएल एक्सप्रेस?

  4. विंडोज़ प्रमाणीकरण या एसक्यूएल प्रमाणीकरण के साथ स्थानीयहोस्ट \ SQLEXPRESS तक पहुंचने के लिए मुझे किस एसक्यूएल कनेक्शन स्ट्रिंग का उपयोग करने की आवश्यकता है?

  5. आप SA पासवर्ड कैसे रीसेट करते हैं?