저번주에 DB서버 디스크쪽에 문제가 있어서
DB복원하고 해서 다시 살렸는데요 .. 무결성이 좀 깨진 부분이 있긴 한것 같았는데
사이트 운영하는 것 자체는 문제는 없는 것 같아서 그대로 사이트를 운영했습니다.
그런데 오늘 갑자기 저번주 데이터가 통째로 삭제되어 있었습니다.
백업본을 보니까 일요일 백업본까지는 문제가 없었는데
월요일 백업본에 갑자기 용량이 줄어들었네요..
유지관리 쪽 로그들을 보니까
무결성 검사중에서 아래와 같은 구문이 있는데
repair_rebuild은(는) DBCC CHECKDB(db명)이(가) 찾은 오류의 최소 복구 수준입니다.
혹시 이런 부분때문에 데이터가 삭제가 될 수 있나요?
그리고
select 검색을 통해서 하면 데이터가 2개가 조회되는데
select count(*) 으로 하면 결과값이 0이 나옵니다.
where 조건에 특정컬럼으로 검색을 하게 되면 그렇게 됩니다.
해당 컬럼이 깨진걸까요? smalldatetime 형식입니다.
이건 뭐가 잘못된 걸까요?
Comment 2
-
냥냥
2015.10.26 22:40
- 답변 고맙습니다.
- 로그상에 아래와 같은 부분도 있네요
- REPAIR_ALLOW_DATA_LOSS
보고된 모든 오류를 복구합니다. 이러한 복구를 수행하면 일부 데이터가 손실될 수 있습니다.이것 때문에 데이터가 삭제가 됐나보네요..
그동안 무결성 검사를 하지 않다가 해보자 해서 한건데.. 문제가 바로 생겨버리네요
dbcc checkdb 옵션 중 repair_rebuild는 데이터 손실이 없는 것으로 나와 있습니다.
삭제된 데이터가 있다면 정상이라고 판단되는 백업본을 개인pc 등에 복원 후에 데이터 비교를 해 보시는게 좋을 것 같네요.
https://msdn.microsoft.com/ko-kr/library/ms176064(v=sql.120).aspx