none
테이블의 데이터가 없어집니다. RRS feed

  • 질문

  • 안녕하세요 mssql을 이용해서 개발해 놓은 사이트를 살펴보던중 데이터가 테이블에서 사라지는 현상이 발생했습니다.

    테이블은 제약조건이 걸려있습니다.

    A 테이블이 마스터이고

    B테이블은 상세 테이블입니다.

    B테이블은 A테이블의 외래키가 잡혀있고, 제약조건도 설정되어 있습니다.

    A, B테이블에 데이터 insert 후, B테이블에 update 작업을 하는도중

    Exception 발생 또는 다른 원인으로 update하던 데이터가 A, B 테이블에서 모두 지워질수도 있나요?

    분명 로그에는 데이터가 insert 성공이라고 찍히는데, 실제 가보면 없습니다. 하루이틀 지나고

    update 작업을 하던중 데이터가 지워지는거 같기도하고 없어질 때도 있어요,,,

    잘 모르겠습니다.

    혹시, 해당 내용이 아니더라고 데이터가 delete를 하지 않았는데, 없어지는 케이스가 있으면 설명해주시면 정말 감사하겠습니다.

    2014년 7월 9일 수요일 오전 7:31

답변

  • Master-Detail 관계 테이블에 대한 1건 이상의 입력/수정/삭제에 대해서는 정확하게 확인하시는 것이 좋습니다.

    실제로 App에서 수행하는 액션별로 실제 어떤 쿼리가 어떤 조합에 의해서 어떤 순서로 실행되는지 확인해 보십시오.

    개발 or 테스트 장비가 있다면 SQL Profiler를 이용해서 추적을 걸어보면 알 수 있습니다.

    (사용법은 어렵지 않으니 부하에 대한 유의 사항만 고려하면 됩니다)

    도움이 되시길.


    Best Regards, Jungsun Kim

    2014년 7월 11일 금요일 오전 8:09
    중재자

모든 응답

  • 일단 Insert하고 update완료되지 않은 상태에서 Exception 발생되면 롤백하도록 프로그램을 작성하셔야합니다.

    컴퓨터는 기본적으로 실행하라고 명령하지 않은 부분에 대해서는 실행하지 않습니다.

    구현된 사이트를 잘 정검해 보시기 바랍니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.
       
    답변이 문제 해결에 도움이 되었다면 답변으로 채택을 부탁드립니다.
    하지만 문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다

    2014년 7월 10일 목요일 오전 7:36
    중재자
  • Master-Detail 관계 테이블에 대한 1건 이상의 입력/수정/삭제에 대해서는 정확하게 확인하시는 것이 좋습니다.

    실제로 App에서 수행하는 액션별로 실제 어떤 쿼리가 어떤 조합에 의해서 어떤 순서로 실행되는지 확인해 보십시오.

    개발 or 테스트 장비가 있다면 SQL Profiler를 이용해서 추적을 걸어보면 알 수 있습니다.

    (사용법은 어렵지 않으니 부하에 대한 유의 사항만 고려하면 됩니다)

    도움이 되시길.


    Best Regards, Jungsun Kim

    2014년 7월 11일 금요일 오전 8:09
    중재자