1. Trang chủ
  2. » Giáo án - Bài giảng

Quản lý transaction và khóa

52 264 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

  [...]... (save-point) bên trong 1 transaction 12 Ví dụ BEGIN TRANSACTION USE Pubs UPDATE Titles SET Royalty = Royalty + 20 WHERE type LIKE 'busin%' IF (SELECT MAX(Royalty) FROM Titles WHERE Type LIKE 'busin%') >$25 BEGIN ROLLBACK TRANSACTION PRINT 'Transaction Rolled back' END ELSE BEGIN COMMIT TRANSACTION PRINT 'Transaction Committed' END 13 Tạo điểm dừng cho 1 TRANSACTION  Lệnh SAVE TRANSACTION dùng để đặt... committed but transaction 2 has not been committed.' ROLLBACK TRANSACTION trnTransaction1 END ELSE BEGIN PRINT 'Both the transactions have been committed.' COMMIT TRANSACTION END 16 Sử dụng các transactions  Việc nhóm 1 số lớn các lệnh hay batch vào trong cùng 1 transaction có thể cản trở việc thực thi hệ thống  Nếu COMMIT BEGIN không nằm trong cùng 1 batch, khi lỗi xảy ra, một số... định mức đô ê mà 1 transaction bị cô lâ êp khỏi viê êc chỉnh sửa tài nguyên hay dữ liê êu từ mô êt transaction khác 29 Kiểm soát tương tranh trong SQL server  Kiểm soát các mức cô lâ êp transaction bao gồm:  Có cần khóa dữ liêêu đọc hay không loại khóa gì được yêu cầu  Khóa đọc nên giữ trong bao lâu  Thao tác đọc có đang tham chiếu đến các hàng bị chỉnh sửa bởi 1 transaction khác... đó vào thời điểm mà lêănh hay transaction bắt đầu  Đọc dữ liêău đã được chỉnh sửa dù chưa được commit 30 Các mức cô lập transaction (transaction isolation level)  Chọn mức cô lâ êp cho transaction sẽ không làm ảnh hưởng đến các khóa đang có để tránh dữ liê êu bị sửa đổi  Mô êt transaction luôn nhâ ên khóa đô êc quyền trên bất kỳ dữ liê êu nào mà nó sửa đổi và. .. sửa bởi các transaction khác dù chưa được commit 2 READ COMMITTED: các lê ênh không thể đọc dữ liê êu đã bị sửa đổi nhưng chưa commit bởi các transaction khác 3 REPEATABLE READ: các lê ênh không thể đọc dữ liê êu đã bị sửa đổi bởi các transaction khác không có transaction nào có thể sửa đổi dữ liê êu đã được đọc bởi transaction hiê ên hành cho đến khi transaction. .. TRANSACTION dùng để đặt 1 điểm dừng (save point) bên trong 1 transaction Điểm dừng chia transaction thành các phần khác nhau sao cho transaction có thể quay về lại điểm dừng này nếu 1 phần của transaction bị loại bỏ có điều kiện  Cú pháp SAVE TRAN[SACTION] {savepoint_name } 14 Thực thi một transaction với điểm dừng BEGIN TRANSACTION UPDATE Employee SET cCurrentPosition = '0015' WHERE... '0015' SAVE TRANSACTION trnTransaction1 UPDATE Requisition SET siNoOfVacancy=siNoOfVacancy - 10 WHERE cRequisitionCode='000004' UPDATE Position SET iCurrentStrength=iCurrentStrength+10 WHERE cPositionCode='0015‘ 15 Thực thi một transaction với điểm dừng IF (SELECT iBudgetedStrength-iCurrentStrength FROM Position WHERE cPositionCode = '0015') .  -0.j `CC^P%`P XP %&#   wY;#D7*7Y5A )4)#;<'AY LYD).  PQ`CCAJX]P=)}) 4)#$76R5$D@ A~Q1L.SB5;<7 0:7Y=)+,*-5.  *)52!M04)) @!M);)•!M +. '()*+,'(   ^77,5AB;F)€0•$ AGAV5*7Y=)!M04)  ,LKAK 9 AJMK/DAKL 9 AJMK  ,LKAKAJDK/DAKLAJDK/ALV4,AK AJDK  ,LKAK349KW  A!9LNX  MKDK,A+++34AN  EL4ALKYN.K  93 M.343A/LK,N4Z3EVLK/DN 9 9 AJMK/ DN 9 AL4M,A3N4 "C+$DE)%/%!6FG B. !"8 !9 0:72 3 .%&;<' ()*))=)+,*.  >/)01)+=)?8 !9 $ %&@5<AB7(()*+,*.C?8 !9 @'D!E)%&.  >/)01))F 3 76$G;@H5I?72 3  8 !9 0:72 3 A!%&'AB7(()*+ ,*)*. !"#)*45- 67()*  /)01) !"8 !9 0:72 3 .%&;<' ()*))=)+,*.  >/)01)+=)?8 !9 $ %&@5<AB7(()*+,*.C?8 !9 @'D!E)%&.  >/)01))F 3 76$G;@H5I?72 3  8 !9 0:72 3 A!%&'AB7(()*+ ,*)*

Ngày đăng: 12/05/2014, 12:08

Xem thêm: Quản lý transaction và khóa

TỪ KHÓA LIÊN QUAN

Mục lục

    Quản lý transaction và khoá

    Khái quát về Transaction

    Các giai đoạn thực thi 1 transaction

    Transaction trong SQL server

    Các dạng transaction

    Chuyển giao tự động các transaction – Autocommit Transactions

    Làm thế nào để quay về lại trước những thay đổi

    Tạo điểm dừng cho 1 TRANSACTION

    Thực thi một transaction với điểm dừng

    Sử dụng các transactions

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w