Posts

Showing posts from May, 2013

Các Thuộc Tính ACID (SQL)

Image
ACID là viết tắt của cụm từ Atomicity (nguyên tử), Consitency (nhất quán), Isolation (Cô lập), và Durability (Lâu bền). Đây là các thuộc tính mà mọi transaction đều được đảm bảo bởi SQL Server. ACID Atomicity : Thuộc tính này đảm bảo mỗi transaction là một khối duy nhất, được thực hiện trọn vẹn hoặc hoàn toàn không được thực hiện. Nếu có một lỗi nào đó xảy ra trong transaction, nó sẽ được quay trở lại (rollback) trạng thái ban đầu. Khi bạn gom nhiều lệnh vào một transaction (bao giữa BEGIN TRAN và END), sẽ chỉ có hai khả năng được phép xảy ra là, tất cả các lệnh này sẽ được thực hiện hoặc không có lệnh nào được thực hiện. Ở mức từng lệnh, SQL Server cũng đảm bảo tính atomicity, ví dụ một lệnh INSERT cho 10 bản ghi, nếu đang thêm được 5 bản ghi thì gặp lỗi, hệ thống sẽ hủy bỏ và không bản ghi nào được thêm. Nếu lệnh có kèm theo trigger, lỗi ở trigger cũng kéo theo lệnh bị hủy bỏ. Khi bạn phát ra lệnh ROLLBACK, tất cả các lệnh đã thực hiện cũng bị quay lui và transaction trở lạ