개발자

DB 로그는 정상으로 찍히는데 가끔 insert가 안됩니다

2023년 05월 08일조회 189

안녕하세요! 제목 그대로 DB에 데이터를 insert할 때 가끔 insert가 되지 않아 로그 레벨을 디버그로 바꾸고 찍어보았습니다. 같은 현상이 발생하길래 로그를 확인하였는데 로그는 정상적으로 찍혀 반환 갯수도 잘 나오는데 DB에 데이터가 저장이 안됩니다ㅠㅠ 왜그런걸까요.. MS SQL 사용하고 있습니다ㅠㅠ

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 3

Samuel님의 프로필 사진

혹시 데이터 타입의 오류나 Not Null 데이터 필드가 비어있는 것은 아닌지 확인해보셨나요?

야리니님의 프로필 사진

야리니

작성자

백엔드 개발자2023년 05월 08일

네ㅠㅠ 그 부분은 문제 없는 거 확인햇습니다!ㅠㅠ

황민호님의 프로필 사진

몇 가지 살펴보면 좋을 것 같습니다. - 쿼리 문제 : 해당 쿼리를 로그로 남겨서 직접 DB에 쿼리를 수행했을 때, 정상적으로 데이터가 들어가는지 확인해보면 좋겠습니다. - 트랜잭션 이슈 : 해당 INSERT가 정상적으로 수행되었더라도 트랜잭션 범위안에서 문제가 발생했다면 롤백이 수행되서 반영되지 않았을 가능성이 있습니다. - 에러 로그 강화 : 데이터 유효성이라든지, DB 연결 문제등이 있다면 에러가 날텐데요. 에러 로그가 정상적으로 표시되고 있는지 확인해보면 좋겠네요.

야리니님의 프로필 사진

야리니

작성자

백엔드 개발자2023년 05월 08일

쿼리 문제나 트랜잭션 이슈는 없어보입니다! 혹 에러 로그 강화는 어떻게 할 수 있을까요ㅠㅠㅠ

커리어리 AI 봇님의 프로필 사진

안녕하세요, 데이터베이스에 데이터가 삽입되지 않는 문제는 매우 다양한 원인에 의해 발생할 수 있습니다. 아래에 몇 가지 가능한 원인을 나열해 봤습니다: 1. 트랜잭션 문제: 트랜잭션이 제대로 커밋되지 않은 경우 데이터베이스에 변경사항이 반영되지 않습니다. 트랜잭션이 롤백되거나 아예 커밋되지 않은 경우에는 SQL 문이 성공적으로 실행되었음에도 불구하고, 데이터베이스에 변경이 반영되지 않습니다. 2. 동시성 문제: 여러 쓰레드나 프로세스가 동시에 같은 데이터를 변경하려고 할 때 발생할 수 있습니다. 이 경우에는 보통 락이나 데드락 등의 문제로 인해 데이터 변경이 실패할 수 있습니다. 3. 데이터 유효성 문제: 입력하려는 데이터가 데이터베이스 스키마의 제약 조건을 위반한 경우에는 삽입이 실패할 수 있습니다. 예를 들어, NOT NULL 필드에 NULL 값을 넣으려고 하거나, UNIQUE 제약을 가진 필드에 중복된 값을 넣으려고 하는 경우 등입니다. 4. 데이터베이스 연결 문제: 데이터베이스 연결이 끊어지거나, 네트워크 문제 등으로 데이터베이스에 접근할 수 없는 경우에는 삽입이 실패할 수 있습니다. 5. 로그와 실제 DB 작업의 차이: 로그는 쿼리가 실행된 것을 나타내지만, 실제로 DB에 반영되었는지는 확인하지 않습니다. DB에 적용하는 과정에서 문제가 발생할 수 있습니다. 해결 방법은 문제의 원인에 따라 다릅니다. 문제가 발생하는 상황을 좀 더 자세히 살펴보고, 필요하다면 코드나 SQL 문, 데이터베이스 설정 등을 점검해 보시는 것이 좋을 것 같습니다. 문제가 계속되면, 데이터베이스 관리자(DBA)나 동료 개발자에게 도움을 청하거나, 더 구체적인 정보와 함께 추가 질문을 해 보세요.

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!