C#.NET

:::::[트랜잭션(Transaction)]:::::

DionysosJH™ 2009. 5. 13. 18:42

:::::[트랜잭션(Transaction)]:::::

 정의 :

  1. 1. 데이터베이스의 논리적 작업 단위
  1. 2. 한 개 이상의 DML(DELETE,INSERT,UPDATE)문장은 하나의 트랜잭션으로 구성
  1. 3. 하나의 트랜잭션 이전의 커밋(COMMIT)이 일어난후 다음 커밋(COMMIT)이 되거나 ROLLBACK이 일어나기 전까지의 작업

 

트랜잭션에서 사용되는 용어 :

BEGIN TRAN

Transaction의 시작

COMIIT TRAN

현재 진행중인 Transaction을 종료하고 모든 변경사항을 저장

ROLLBACK TRAN

현재까지 진행된 Transaction을 종료하고 모든 변경사항 취소

SAVE TRAN

Transaction을 저장하고 책갈피처럼 그 위치를 지정 그 위치 전까지 Rollback 시킴

 

쉬어가는 코너 – ( DB가 잘못되었을 때 DB분리 작업 :MSSQL에서만 적용되어진다.)

  1. MSSQL서비스 죽이기
  2. 해당 MDF.LDF 파일을 다른 곳에 저장
  3. MSSQL 서비스 살리고 삭제
  4. DB연결

 

use Northwind

go

 

--NORTHWIND 데이터베이스에서사용할2개의복제테이블생성

Oders Region테이블

 

Select * from Orders

 

Select * from Region

 

 

--2개에대한복제테이블만들기

--Select * into 새로생성할테이블명from 기존테이블

--물론위의방법은제약조건은복제가안됨

 

Select * into cloneOrders from Orders

Select * into cloneRegion from Region

 

--1번시작

Select * from cloneOrders

 

Select * from cloneRegion

--1번끝

 

--2번시작

Begin Tran

    Delete from cloneOrders

    Delete from cloneRegion

--2번끝

 

Rollback tran --3

 

 

 

 

 

 

:::::[Save Tran 이해]:::::

 

--1번시작

Begin Tran

Update cloneRegion set RegionDescription='KOREA' WHERE RegionID=1

--1번끝

 

--2번시작

Save tran savepiont1

--2번끝

 

--3번시작

update cloneRegion Set RegionDescription='China' where RegionID=1

--33번끝

 

--4번시작

select * from cloneRegion where RegionID

--4번끝

 

--5번식작

Rollback tran savepoint1

--5번끝

 

--6번째시작

select * from cloneRegion where RegionID=1

commit Tran

--6번끝

 

 

 

 

 

 

 

 

 

 

댓글수0