0
SELECT *
FROM [Production].[Product]
BEGIN TRY
BEGIN TRAN;
UPDATE [Production].[Product]
SET Color = 'Off White'
SELECT *
FROM [Production].[Product]
SELECT @@TRANCOUNT AS 'Transaction Count'
COMMIT TRAN;
END TRY
BEGIN CATCH
ROLLBACK TRAN;
END CATCH;
SELECT *, @@TRANCOUNT AS 'Transaction Count'
FROM [Production].[Product]
我沒有收到任何錯誤,但這些更改沒有像他們應該回滾的那樣......任何想法?無法獲取SQL Server 2012事務回滾
由於它位於TRY塊中,因此只能在TRY失敗時回退。如果你沒有錯誤,預期的結果是TRAN不回滾。你沒有TRY/CATCH運行這個查詢嗎? –
選擇* 從[生產] [產品] \t BEGIN TRAN; \t \t UPDATE [製造] [產品] \t \t SET顏色= '米白色' \t \t SELECT * \t \t FROM [製造] [產品] \t \t SELECT @@ TRANCOUNT AS '交易計數' \t COMMIT TRAN; \t ROLLBACK TRAN; SELECT *,@@ TRANCOUNT AS「交易計數」 FROM [製造] [產品]」 –
變化還是不會回滾 –