안녕하세요 오랜만에 질문글을 작성합니다.
INDEX 생성 작업도중 중지하고(롤백하는 시간만 1시간여 걸림..) DB 서비스를 내렸다 올리니 인덱스 작업을 하던 DB명 옆에 (복구) 라는 글씨와 함께 목록이 열리지 않더군요..
지금 한시간여째 이런 상태인데.. 이 상태에서 서비스재개를 위하여 서비스를 내리거나 그러면 문제가 발생하는지요 ㅜ
그리고 왜 이런 현상이 발생되는지.. 원인을 알 수가 없네요. 도움 부탁드립니다..
Comment 2
-
유스
2015.07.15 17:18
이래서 온라인 인덱싱이 필요 해지게 되죠.
작은 DB야 큰 상관 없지만 좀 큰 DB의 인덱스를 새로 걸거나 수정 하려고 하면 오랜 시간 동안 락이 걸려 버립니다. 너무 오래 걸려서 취소를 해봐야 롤백을 위해서 다시 락이 걸리면서 또 오랜 시간이 소모 되버리고, 놀라서 강제로 꺼봐야 다시 키면 롤백 작업이 다시 시작 되죠..
일단 시작 된 건 방법이 없습니다.. ~_~;;;
한번 시작한 트랜젝션은 COMMIT 하고 끝나던지 ROLLBACK하고 끝나던지 여튼간 끝나야 합니다.
만약 강제로 서비스를 중지한 다음 다시 시작하면
SQL SERVER는 ROLLBACK 되지 못한 트랜잭션을 기필고 롤백하려고 합니다.
이건 막을 수가 없습니다.
이게 막힌다면 DB가 목숨처럼 지켜야하는 ACID가 깨지는거죠.