2014-04-17 5 views
0

내 데이터베이스에 문제가 있습니다. 문제는 1 ~ 2 일 후에 나 또는 일부 사용자가 삭제하지 않은 일부 레코드가 누락되었음을 발견 한 것입니다. 일부 레코드는 일이 누락 됨 같이일부 레코드가 자동으로 내 SQL 데이터베이스에서 삭제되었습니다

Enquiry_Id  Day_No Ckeck_In   Destination 
RH - 07/11/2013 - 1 1  2013-12-23   Cochin 
RH - 07/11/2013 - 1 2  2013-12-24   Munnar 
RH - 07/11/2013 - 1 3  2013-12-25   Kovalam 
RH - 14/11/2013 - 2 1  2013-11-21   Thekkady 
RH - 14/11/2013 - 2 3  2013-11-23   Cochin 

누락이

Enquiry_Id   Day_No Ckeck_In   Destination 
RH - 07/11/2013 - 1 1  2013-12-23   Cochin 
RH - 07/11/2013 - 1 2  2013-12-24   Munnar 
RH - 07/11/2013 - 1 3  2013-12-25   Kovalam 
RH - 14/11/2013 - 2 1  2013-11-21   Thekkady 
RH - 14/11/2013 - 2 2  2013-11-22   Munnar 
RH - 14/11/2013 - 2 3  2013-11-23   Cochin 

1 일 이후 또는 이일 방법이 문제가 친절하게 내 데이터가 내가 그 시간에 데이터를 입력 할 때와 같은

도움을 해결하기 위해 임 asp.net (C#) 작업. 이 문제를 해결하도록 도와주세요.

+0

이에 대한 책임이있는 저장 프로 시저가 있습니까? –

+0

코드를 삭제하거나 데이터베이스의 예약 된 작업 중 하나를 삭제해야합니다. 더 많은 정보 없이는 말할 수 없습니다. – Andrew

+0

랜덤 테이블이나 특정 테이블에서 발생합니까? 항상 같은 사람? – Jester

답변

0

데이터를 자동으로 삭제하지 않습니다. 그것은 특정한 것이어야합니다.

다음과 같은 이유로 문제가 발생할 수 있습니다.

  1. 삭제 쿼리를 확인하고 해당 쿼리의 where 절이 완벽하거나 다른 데이터를 삭제하는지 확인하십시오.
  2. 이 데이터를 업데이트/삭제할 수있는 백그라운드 작업 또는 작업을 확인하십시오.
  3. 다른 삭제 쿼리에 문제가있는 코드를 확인하십시오.
0

이상한 문제입니다. 나는 2 가지 방법을 볼 수있는 테이블 로깅을 구현하려고 시도 할 것이다. 1) 사용자 정의 로깅 테이블에 날짜 스탬프와 사용자 스탬프를 쓰는 테이블에서 삭제를위한 트리거를 생성한다. 이 접근법은 몇 가지 기본 세부 사항을 제공 할 수 있습니다. 2) 서버 감사를 켜십시오 (SQL Server Audit). 이 꽤 복잡 할 수 있지만 잊고 :) 내가 Jalphesh에 동의

0

를 다른 생각 ...

또한

내가이 테이블에서 삭제할 수있는 모든 SP를 찾기 위해 테이블 ​​종속성을 확인 할 뭔가가없는 경우 그러나 데이터가 유지되는 것이 중요 할 경우 "대신 DELETE TRIGGER"를 사용하여 중지 시키면 발생하는 오류가 발생해야합니다. 데이터베이스에서 추적/(프로파일 러)를 실행하여 강조 표시 할 수도 있습니다. 아래의 트리거 :

CREATE TRIGGER IO_Trig_DEL_Enquiry ON Enquiry 
INSTEAD OF DELETE 
AS 
BEGIN 
    RAISERROR ('DONT DO THIS', -- Message text. 
       16, -- Severity. 
       1 -- State. 
       ); 
END 

일단 모든 것이 해결되면 트리거를 제거하십시오. 컨텍스트에 대한 데이터베이스 테이블에 서버 정보를 작성할 수도 있습니다.

관련 문제