제목대로
UPDATE문을 BEGIN TRAN 없이 쳤습니다.. 모든데이터의 한컬럼이 전부 같은값으로 업데이트되었습니다..
테스트데이터라 상관은없지만 다시 데이터 입력하려면 번거로워 다시 롤백하고싶습니다..
즉, BEGIN TRAN 안걸었는데 방금실행한쿼리 롤백방법읎없을까요?
Comment 9
-
이리
2016.05.17 13:36
-
후알유?
2016.05.17 13:38
답변감사합니다..
제가 쿼리 초보여서 다시 여쭙겠습니다..(__)
로그백업후 복원이라고 하셨는데, 자세히 설명가능한지요?
-
이리
2016.05.17 13:46
SELECT name, database_id, recovery_model_descFROM sys.databases쿼리 실행 후 복구하려는 DB가 FULL 인지 SIMPLE인지 체크해보세요 -
후알유?
2016.05.17 13:57
simple 입니다....심플이면 복구불가능한가요..?
-
이리
2016.05.17 14:03
네 SIMPLE 이면 트랜잭션 로그가 없어 특정시점 복구는 안될 거 같습니다.
https://msdn.microsoft.com/ko-kr/library/ms189275(v=sql.120).aspx
-
후알유?
2016.05.17 14:05
그렇군요.. 아쉽네요..
그러면 full 이라면 롤백은 어떤식으로 하는건가요?
-
이리
2016.05.17 14:11
풀 백업 -> 로그 백업 -> 풀 복구 -> 로그 복구(여러개일 경우 순서대로) 하면서 STOPAT 옵션으로 특정시점 복구
http://burning-dba.tistory.com/69
참고해보시기 바랍니다.
-
후알유?
2016.05.17 14:15
답변감사합니다!
-
ilovejsp
2016.05.19 11:08
mssql 에서는 commit 되는순간 트랜잭션을 잡고있지 않았다면 복구할수 있는 방법 없습니다.
(트랜잭션복원 제외)
이미 커밋이 되었다면 롤백은 안되고요
복구모드가 전체라면 로그백업 후 복원은 가능할거 같습니다.