MS SQL
SQLD transaction 관리
코딩왕ll
2021. 11. 10. 21:55
728x90
트랜잭션이란?
데이터 처리의 한 단위이다
하나의 트랜잭션은 all or noting 방식으로 처리된다.
트랜잭션의 특징
1. 원자성
한 트랜잭션 내의 모든 연산들이 완전히 수행되거나 전혀 수행되지 않음 ( All or Nothing ) 을 의미함
2. 일관성
어떤 트랜잭션이 수행되기 전에 데이터베이스가 일관된 상태를 가졌다면 트랜잭션이 수행된 후에 데이터베이스는 또 다른 일관된 상태를 가짐
3. 고립성
한 트랜잭션이 데이터를 갱신하는 동안 이 트랜잭션이 완료되기 전에는 갱신 중인 데이터를 다른 트랜잭션들이 접근하지 못하도록 해야 함
다수의 트랜잭션들이 동시에 수행되더라도 그 결과는 어떤 순서에 따라 트랜잭션들을 하나씩 차례대로 수행한 결과와 같아야 함
4. 지속성
일단 한 트랜잭션이 완료되면 이 트랜잭션이 갱신한 것은 그 후에 시스템에 고장이 발생하더라도 손실되지 않음
commit
: transaction (insert, update, delete) 작업내용을 db에 저장
* 자동커밋 : create alter drop renam truncate DDL문
rollback
: transaction (insert, update, delete) 작업내용을 취소
이전에 commit 한 곳 까지만 복구됨
예약어
savepoint : savepoint 로 저장해 놓은 곳 까지는 rollback시적용되지 않음
728x90