데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
안녕하세요 오랜만에 질문글을 작성합니다.
INDEX 생성 작업도중 중지하고(롤백하는 시간만 1시간여 걸림..) DB 서비스를 내렸다 올리니 인덱스 작업을 하던 DB명 옆에 (복구) 라는 글씨와 함께 목록이 열리지 않더군요..
지금 한시간여째 이런 상태인데.. 이 상태에서 서비스재개를 위하여 서비스를 내리거나 그러면 문제가 발생하는지요 ㅜ
그리고 왜 이런 현상이 발생되는지.. 원인을 알 수가 없네요. 도움 부탁드립니다..
Comment 2
-
유스
2015.07.15 17:18
이래서 온라인 인덱싱이 필요 해지게 되죠.
작은 DB야 큰 상관 없지만 좀 큰 DB의 인덱스를 새로 걸거나 수정 하려고 하면 오랜 시간 동안 락이 걸려 버립니다. 너무 오래 걸려서 취소를 해봐야 롤백을 위해서 다시 락이 걸리면서 또 오랜 시간이 소모 되버리고, 놀라서 강제로 꺼봐야 다시 키면 롤백 작업이 다시 시작 되죠..
일단 시작 된 건 방법이 없습니다.. ~_~;;;
한번 시작한 트랜젝션은 COMMIT 하고 끝나던지 ROLLBACK하고 끝나던지 여튼간 끝나야 합니다.
만약 강제로 서비스를 중지한 다음 다시 시작하면
SQL SERVER는 ROLLBACK 되지 못한 트랜잭션을 기필고 롤백하려고 합니다.
이건 막을 수가 없습니다.
이게 막힌다면 DB가 목숨처럼 지켜야하는 ACID가 깨지는거죠.