특정 ABC 데이타베이스 가
몇일 전 부터 데이타가 1건 씩 삭제 됩니다.
이틀 전에도 그랬고 오늘도 그렇습니다.
데이타가 많아서 정확히 1건 삭제 되었는지는 모르겠습니다.
업체에서 전화가 와서 확인 해보니 해당 값이 없습니다.
처음엔 업체에서 착각 한 줄 알았는데, 그건 아닌것 같구요.
주문리스트인데 현재 유저 관리자 페이지에선 삭제 할 수 없게 되어 있습니다.
기존에 주문리스트에 삭제 버튼을 넣어 두었다가 주석 처리한지 1년 정도 되었구요.
삭제 처리 페이지는 남아 있습니다.
조금전에 삭제 처리 페이지는 없애 버렸구요.
데이터가 모두 삭제 되는것도 아니고 1건씩 그냥 이유없이 삭제 될 일은 없다고 생각이 되거든요.
그래서 사용자 차각이라 생각 했었구요.
근데 정말 사라졌네요.
새벽에 오전 2시 그리고 오전 5시 에 자동 백업 스케쥴러 돌려 놓았는데요.
이상한건 정상적으로 백업이 되지 않았습니다.
백업이 되긴 했으니 데이타 row수가 15건 밖에 되어 있습니다.
실제 row 수는 30만건 정도 되거든요.
하지만 다른 데이타베이스 백업 본 확인 해보니 정상적입니다.
특정 ABC 데이타 베이스만 백업은 되었으니 실제는 정상적으로 되질 않고 조금만? 되어 있습니다.
이런 경우 어떤걸 확인해 봐야 하는지요?
제가 좀전에 ABC 데이타베이스 수동 백업해보니 정상적으로 되었습니다.
Comment 1
-
쓸만한게없네(윤선식)
2015.04.09 22:17
다방면으로 확인을 해 보셔야 할 듯 합니다.
1. 해킹 가능성.
- 새로 생긴 개체(테이블, 프로시저)가 있는지, 새로운 로그인이 있는지 확인해 보세요.
- SQL Server Errorlog 를 통해 비정상 로그인이나 로그인실패 기록이 있는지 보세요.
- Windows Event Log 에서 비정상적인 로그인 (자주 로그인 시도하는 등)이 있는지 확인해 보세요.
- 테이블 내용이 변경되거나 sp_configure 명령어를 통해서 xp_cmd_shell이 활성화 되어 있는지 확인해 보세요.
2. 테이블 Trigger를 통한 로직 오류
- DELETE 시에 Trigger 를 넣어서 다른 테이블에 넣는 로직을 하나 넣어볼 수 있습니다.
이를 통해 삭제한 시각 확인이 가능합니다.
- 다만 DELETE/UPDATE 가 자주 발생하는 테이블의 경우 부하 등을 고려해야 합니다.
3. Trace(Profiler) 또는 XEVENT 를 통한 확인
- 해당 테이블을 textdata 로 하는 사항을 Trace 나 XEvent 로 잡아보세요.
- Trace(Profiler)의 경우 TextData Filter에 '%테이블명%'을 넣으면 확인 가능합니다.
이상입니다.