6
मुझे गलती से zombie transaction
का उल्लेख SqlTransaction
कोड में किया गया है। तो, ज़ोंबी लेनदेन क्या है?ज़ोंबी लेनदेन क्या है?
मुझे गलती से zombie transaction
का उल्लेख SqlTransaction
कोड में किया गया है। तो, ज़ोंबी लेनदेन क्या है?ज़ोंबी लेनदेन क्या है?
एक ज़ोंबी लेनदेन एक लेनदेन है जो प्रतिबद्ध नहीं किया जा सकता है (एक अप्राप्य त्रुटि के कारण) लेकिन अभी भी खुला है।
CREATE TABLE mytable (id INT NOT NULL PRIMARY KEY)
SET XACT_ABORT ON;
BEGIN TRY
BEGIN TRANSACTION
INSERT
INTO mytable
VALUES (1)
INSERT
INTO mytable
VALUES (1)
COMMIT
END TRY
BEGIN CATCH
PRINT XACT_STATE()
SELECT *
FROM mytable
ROLLBACK;
END CATCH
SELECT *
FROM mytable
यहां, दूसरा INSERT
लेनदेन ज़ोंबी प्रस्तुत करता है।
यह अब और नहीं लिख सकता है और वापस लुढ़का जाना चाहिए, लेकिन आप अभी भी अपने दायरे में पढ़ सकते हैं (सबसे कम SELECT
एक रिकॉर्ड देता है; बाहरीतम नहीं करता है)।
और इससे छुटकारा पाने के लिए आपको माचेटे या शॉटगन की आवश्यकता है! ... मैन, मुझे प्यार है I.T. काम। 80) – Keng