xact-abort

    3熱度

    1回答

    我理解SET XACT_ABORT命令的目的: 當SET XACT_ABORT爲ON時,如果一個Transact-SQL語句產生 運行時錯誤,整個交易被終止並回滾。 當SET XACT_ABORT爲OFF時,在某些情況下,只有導致錯誤的Transact-SQL 語句回滾並且事務 繼續處理。根據錯誤的嚴重程度,即使SET XACT_ABORT爲OFF,整個事務也可能會回滾。 OFF是默認設置。 在一

    4熱度

    1回答

    我用在SQL Server中使用我的存儲過程中的代碼片段: create procedure proc_name --declare variables as set nocount on begin transaction begin try --do something commit transaction end t

    0熱度

    1回答

    我有一個過程,它是整理以下 BEGIN TRY BEGIN TRAN ...transactins A.... BEGIN TRY .... Transaction B .... END TRY BEGIN CATCH .... Set variables and print messages .... END CATCH ....

    2熱度

    3回答

    我有一個更大的存儲過程,它利用幾個TRY/CATCH塊來捕獲和記錄單個錯誤。我還在程序的整個內容中包裝了一個事務,以便在出現錯誤時爲了防止大量亂糟糟的清理而在整個事件中回滾整個事件。 XACT_ABORT已啓用,否則它不會回滾整個事務。 關鍵組成部分: 有一個在我的數據庫中的表,獲取每個該過程與上什麼地方出了錯操作和細節的結果運行時插入的記錄。當我終於弄清楚什麼是錯誤的時候,這是非常明顯的....

    3熱度

    1回答

    我有一個嘗試catch塊在我的sp只是一個插入語句在嘗試。 catch檢查錯誤代碼是否是pk違規,如果是則更新。但有時我得到「當前事務不能提交,並且不能支持寫入日誌文件的操作,回滾事務 在批處理結束時檢測到不可提交的事務,事務回滾。所以我添加了xact_abort,但隨後我不斷收到「EXECUTE後的事務計數表示BEGIN和COMMIT語句的數量不匹配。」我發現這一點。 http://www.as

    3熱度

    2回答

    我正在嘗試改進當前系統的錯誤處理以產生更多有意義的錯誤消息。我有一個「根」存儲過程,可以對其他嵌套存儲過程進行多次調用。 在根屬,XACT_ABORT設置爲ON但在嵌套過程,XACT_ABORT設置爲OFF。我想捕獲較低級別過程中的特定錯誤,而不是獲取根過程的錯誤。 我經常看到的錯誤,uncommittable transaction is detected at the end of the b

    3熱度

    1回答

    這種情況會發生什麼? SET XACT_ABORT ON BEGIN TRANSACTION ---DO SOMETHING HERE THAT CAUSES AN ERROR COMMIT TRANSACTION if @@error != 0 raiserror('SP failed. Step 7.', 20, -1) with log GO 我的猜測是因爲XA

    4熱度

    1回答

    我的SQL Server 2008R2的流程場景: •通過USP來收集數據,然後將兩個SQL Server之間傳輸數據 這個過程是要在該過程的所有各級與交易完成(USP,SSI和觸發器) 在數據流傳輸的數據DB7.dbo.Dest,這個表有一個AFTER插入數據的觸發器那剛剛通過進入決賽桌DB7.dbo.FinalDestination: CREATE TRIGGER [dbo].[Insert_