Hệ quản trị CSDL
Tranh chấp đồng thời
Trình bày: Hồ Thị Hoàng Vy
1
Nội dung
Transaction
Tranh chấp đồng thời
Xử lý tranh chấp đồng thời
Deadlock
Trình bày các tình huống tranh chấp và cách xử lý
Tránh deadlock
2
Transaction
Nhắc lại kiến thức seminar lần 1
Transaction là gì ?
Cách khai báo một transaction như thế nào?
3
Transaction
Transaction tập hợp c thao
tác thứ tự truy xuất dữ liệu
trên CSDL thành 1 đơn vị công việc
logic (xem 1 thao c nguyên
tố), chuyển CSDL từ trạng thái nhất
quán này sang trạng thái nhất quán
khác
Rollback: Kết thúc giao tác thất bại
Khai báo giao tác
Commit: Kết thúc giao tác thành công
Begin tran: bắt đầu giao tác
Khi nào thì rollback
Dữ liệu sẽ
Được xác
Nhận trên
CSDL
Khi có một lệnh nào đó
trong giao tác bị lỗi
cần phải khôi phục lại
dliệu
4
Transaction (tt)
Lưu ý:
-Rollback không có tác dụng return
-Nếu có khai báo giao tác mà không có kết thúc giao tác giao tác vẫn còn thực
hiện khi store procedure kết thúc.
-Phải luôn đảm bảo lúc runtime một trong 2 cặp [begin tran - commit] hoặc
[begin tran - rollback] được thực thi
BEGIN TRAN
COMMIT TRAN
// Statement 1…….
// Statement 2…….
// …………………
Begin Tran
……………
IF @@error != 0
BEGIN
-- Các câu lệnh xử lý khi bị lỗi
Rollback Tran
return
END
Commit
5