Danh mục

Bài giảng Giao tác trong hệ quản trị cơ sở dữ liệu SQL server 2012

Số trang: 12      Loại file: pptx      Dung lượng: 69.67 KB      Lượt xem: 9      Lượt tải: 0    
Hoai.2512

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

"Bài giảng Giao tác trong hệ quản trị cơ sở dữ liệu SQL server 2012" tìm hiểu giao tác; vấn đề đặt ra cho việc dùng giao tác; giao tác tường minh; giao tác – điểm lưu; hành vi đọc dữ liệu với giao tác; mức độ cô lập trong giao tác (isolation level); giao tác không tường minh; giao tác tự động...
Nội dung trích xuất từ tài liệu:
Bài giảng Giao tác trong hệ quản trị cơ sở dữ liệu SQL server 2012GIAOTÁCTRONGHỆQUẢNTRỊCƠSỞDỮLIỆUSQLSERVER2012Giaotác(Transaction)Giaotácđượchiểunhưkháiniệmchỉtậpcáclệnhđượcthựchiệnnhưngcósựgắnkếtvớinhauvàđượccoinhưlà1đơnvịhoạtđộng,chúngchỉthànhcôngnếunhưtấtcảthànhcôngvàthấtbạinếucó1phầntửthấtbại.Tínhchấtcủagiaotác• Tínhnguyêntử(Atomicty):Thànhcôngnếutấtcảthànhcông.• Tínhnhấtquán(Consistency):Vẫnđảmbảocácràngbuộc.• Tínhcôlập(Isolation):Thểhiệnmứcđộriêngtưcủatừng giaotác.(Mộtgiaotácđangthayđổicóthểbênngoàithấyhay khôngthấy)• Tínhbềnvững(Durability):Khihệthốngcólỗi,nhưngthànhGiaotác(Transaction)Vấnđềđặtrachoviệcdùnggiaotáco Khinàosửdụnggiaotác?o Sửdụnggiaotácởmứcđộcôlậpnàolàphùhợp?o Phạmviảnhhưởngcủagiaotáclàđâu?o Khảnăngcácngônngữlậptrìnhkếtnốivớihệquảntrị cósửdụngcơchếgiaotácnhưthếnào?Giaotáctườngminh(Explicit)Giaotác Begin tran [tên_giao_tác] lệnh | khối_lệnh { Commit tran | Rollback tran }[tên_giao_tác]Tạođiểmlưu save tran tên_điểm_lưuHủynhữnggìsauđiểmlưunếurollbackGiaotác–Điểmlưu(Savepoint)begin tran t1 lệnh | khối_lệnh save tran s1 lệnh | khối_lệnh rollback tran s1 -- chưachấmdứtt1 lệnh | khối_lệnhcommit tran t1=>Rollback tran s1chỉhủybỏkếtquảtừsaulệnhsavetran s1đếnchổrollback tran s1 vàsauđólàtiếptụcHànhviđọcdữliệuvớigiaotác• Dirtyread Đọcdữliệumàgiaotáckhácchưacommit.• Nonrepeatableread(NonRep|LostUpdate) GiaotácđọclầnđầuthấydữliệulàA,nhưngsauđóđọclạithìthấylàB(dogiaotáckhácthayđổi)• Phantomread Khigiaotác1đọcdữliệu,bênngoàihaygiaotáckhácthêmdòngmớivàohayxóađi,làmchocácdòngđangđọctrởthànhdòngảo(phantom).Mứcđộcôlậptronggiaotác(Isolationlevel) ISOLATION DIRTY NON PHANTO LEVEL READ REPEATE M READ DRead uncommitted √ √ √Read committed √ √Repeatable read √SerializableMứcđộcôlậptronggiaotác(Isolationlevel)Thiếtlậpmứcđộ SET TRANSACTION ISOLATION LEVEL { read uncommitted| read committed | repeatable read | serializable } BEGIN TRAN ……Giaotáckhôngtườngminh(Implicit)BắtđầugiaotácvớicáclệnhALTERTABLE,DROP,TRUNCATETABLE,CREATE,OPEN,FETCH,REVOKE,GRANTDELETE,INSERT,SELECT,UPDATEKếtthúcbằnglệnh:COMMIT|ROLLBACKTRAN Khikếtthúccũnglàlúcbắtđầumộtgiaotácmới.Thiếtlậpthôngsốchấpnhận SETIMPLICIT_TRANSACTIONSON|OFFGiaotáctựđộngCơchếtựđộngxácnhậnđượcthựcthikhitronggiaotácxuấthiệnlỗilúcchạyhaylỗicúpháp. • Lỗicúpháp:giaotácbịhủy(rollback) • Lỗilúcchạy(khóachính,saidữliệu,…):giao tácđượcchấpnhậnđếnthờiđiểmbịlỗi.Giaotáclồngnhau• Chophépcácgiaotáclồngvớinhau.• Lệnhcommitchỉcótácdụngchogiaotáccấp‘con’ gầnnhất.• Lệnhrollbacktrancótácdụnghủytấtcảvàtrởvề điểmbanđầucủagiaotáccấp‘cha’nhất.• Biến@@trancountchỉxemvàothờiđiểmhiệntại cóbaonhiêugiaotácđangtồntại.GiaotáclồngnhauBegin tran t1 ……… begin tran t2 ………… print @@trancount @@trancountlà2 commit tran t2 ……… print @@trancount @@trancountlà1commit tran t1 ...

Tài liệu được xem nhiều:

Gợi ý tài liệu liên quan: