Chúng tôi có ứng dụng client đang chạy một số lệnh SQL trên SQL Server 2005 như sau:Máy chủ SQL - các giao dịch quay trở lại do lỗi?
BEGIN TRAN;
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
COMMIT TRAN;
Nó được gửi bởi một lệnh chuỗi dài.
Nếu một trong các chèn không thành công hoặc bất kỳ phần nào của lệnh không thành công, SQL Server có quay lại giao dịch không? Nếu nó không rollback, tôi có phải gửi một lệnh thứ hai để cuộn nó trở lại?
Tôi có thể cung cấp chi tiết cụ thể về api và ngôn ngữ tôi đang sử dụng, nhưng tôi nghĩ SQL Server sẽ phản hồi như nhau đối với bất kỳ ngôn ngữ nào.
http://stackoverflow.com/questions/1150032/what-is-the-benefit-of-using-set- xact-abort-on-in-a-lưu trữ-thủ tục – zloctb