Loading

예기치 않게 생성, 업데이트, 삭제된 레코드

게시 일자: Mar 2, 2026
상세 설명

고지 사항

 
  • Salesforce의 최우선 가치는 신뢰입니다. 저희는 고객의 데이터를 동의 없이 무단으로 조작하지 않습니다. 표준 애플리케이션 기능은 고객의 데이터를 무작위로 또는 예기치 못한 방식을 통해 의도적으로 업데이트하거나 조작하지 않습니다.
 
  • 데이터가 예기치 않게 업데이트되는 경우, 이는 일반적으로 사용자에 의해 직접 의도하지 않은 변경 사항이 발생하거나 워크플로, API 통합, Apex와 같이 클라이언트가 도입한 자동화를 통해 간접적으로 변경 사항이 발생한 경우입니다. 이러한 변경 사항으로 영향을 받는 사용자의 환경에 존재하는 레코드가 업데이트될 수 있습니다.
 
  • Salesforce 지원팀은 고객 메타데이터, 사용자 정의, 자동화, 사용자 작업을 검토 및 분석하여 레코드 변경을 일으켰을 가능성이 있는 요소를 식별하는 서비스를 제공하지 않습니다.
 
  • 이전에는 고객이 레코드 변경을 발생시킨 사용자를 소급하여 찾아낼 수 있도록 지원팀에서 도움을 제공한 사례가 존재했을 수도 있습니다. 하지만 일반 데이터 보호 규정(GDPR)이 도입됨에 따라 애플리케이션 기능 및 로깅이 변경되면서 그러한 서비스는 더 이상 제공할수 없게 되었습니다. 자세한 내용은 Salesforce의 개인정보보호 페이지에서 확인하세요.
 
  • 조직의 고유한 환경의 복잡도에 따라서 자동화 및 사용자 변경 사항이 발생한 원인을 찾아내기 어려울 수 있습니다. 이러한 변경 사항의 근원을 찾아내고자 하는 관리자는 아래에 제시된 도구와 전략을 사용할 수 있습니다.
솔루션
 
경고
데이터 작업을 수행하기 전에 항상 데이터를 백업하세요. 자세한 내용은 Salesforce에서 백업 데이터 내보내기 또는 데이터 내보내기를 참조하세요. Salesforce에서 수동으로 열어 해당 레코드가 올바른지 확인하는 과정을 통해 작업의 성공 여부를 확인하려면 레코드의 작은 하위 집합으로 테스트를 실행하는 것이 좋습니다.

삭제 및 누락된 레코드


레코드 삭제에 관해서는 Salesforce에서 레코드를 삭제한 사용자 찾기Salesforce에서 레코드 및 데이터 복구를 참조하세요.

 

업데이트 및 수정된 레코드


레코드가 예기치 않게 변경되었을 경우 그 원인을 조사할 때 가장 유용하게 활용할 수 있는 정보는 해당 레코드의 시스템 필드입니다. 특히 'LastModifiedById'와 'LastModifiedDate' 필드의 경우 누가 언제 마지막으로 레코드를 수정하거나 삭제했는지에 관해 중요한 단서를 제공합니다.
 


시스템 감사 필드 관련 고려 사항

 
  • 예기치 않은 변경이 발생한 후 문제의 레코드가 수정된 상황이 존재할 수도 있습니다. 그럴 때는 테스트 레코드를 설정한 다음 위의 전략을 사용해 레코드 변경을 일으키는 프로세스나 사용자를 확인하는 것이 좋습니다. 이는 정확한 'LastModified' 데이터를 확보할 수 있는 유일한 방법일 수도 있습니다.
 

 

이러한 유형의 변경 사항은 오로지 클라이언트 측 또는 고객이 내부적으로 다음 과정을 통해서만 추적할 수 있습니다.


 

  • 강력한 변경 관리 수칙 해당 기능의 경우 데이터 무결성을 확보하기 위해 관련 데이터 작업을 완료하는 데 필요한 기간 동안만 활성화했다가 즉시 비활성화하는 것이 가장 바람직합니다.
 
  • 'Set Audit Fields upon Record Creation(레코드 생성 시 감사 필드 설정)' 프로필 권한을 엄격하게 할당하도록 통제합니다.
 
  • 조직 내 조율과 소통

'Set Audit Fields upon Record Creation(레코드 생성 시 감사 필드 설정)'과 'Update Records with Inactive Owners(비활성 소유자의 레코드 업데이트)'가 활성화되어있는지를 확인하려면 조직의 'Setup Audit Trail(설정 감사 내역)'을 다운로드해서 검색해 보세요. 설정 감사 내역을 통한 설정 변경 사항 모니터링 문서에 상세하게 제시된 과정을 따라서 'Set Audit Fields upon Record Creation(레코드 생성 시 감사 필드를 설정)'을 수행하세요.
 


LastModified 필드에서 추가적인 정보 확보하기

 
'LastModifiedBy' 사용자 레코드를 사용해 데이터 불러오기, API, 기타 통합을 확인하세요.
 
  • 보고서를 생성해 해당 사용자가 같은 날짜에 유사한 레코드를 수정하지 않았는지 확인합니다. 이를 통해 해당 레코드가 데이터 로드, 가져오기, 업데이트 작업에 따라 업데이트되었는지 여부를 확인할 수도 있습니다. 대량 데이터 로드 작업 세부 사항 보기에서 레코드 업데이트가 필요한 후보군을 찾아보세요.
 
  • 확인하려는 레코드를 쿼리해서 'LastModifiedDate'의 값을 정확하게 초 단위까지 확인합니다.
 
  • 더 자세하게 살펴보려면 관리자가 Data Loader와 같은 클라이언트 도구를 통해 SOQL 쿼리를 실행해서 동일한 시간 프레임(+/- 5초)에 수정된 다른 레코드가 존재하지 않는지를 확인할 수 있습니다. Data Loader가 지원하는 데이터 형식의 'Date Format(날짜 형식)' 섹션에서 조건 표현식 구문(WHERE 절)과 'LastModifiedDate' 값을 사용해 조건부 내보내기 및 쿼리 형식을 지정하는 법을 알아보세요.
 
  • 여러 레코드가 동시에 혹은 수초 간격으로 수정되었다면 자동화를 통해 레코드가 배치 단위로 업데이트되고있을 가능성이 높습니다. 사용자가 사용자 인터페이스를 통해서 레코드를 편집하고 저장하는 방식으로는 그렇게 신속하게 변경하기 레코드를 변경하기 어렵습니다.
 
  • 'LastModifiedBy' 사용자의 로그인을 확인하여 업데이트를 발생시키는 통합이 존재하지는 않는지 확인합니다. 사용자 보기 및 관리를 참조해 영향을 받는 사용자의 로그인 정보를 검토하고 다운로드하세요. 레코드가 수정된 날짜 및 시간과 관련된 API나 기타 로그인이 있는지 추가로 확인하세요.
 

변경 원인을 찾을 수 없는 경우


문제가 계속 발생하며 특정 필드의 값만 예기치 않게 변경된다면 관리자가  Field History Tracking(필드 내역 추적)이나 Feed Tracking(피드 추적)을 설정하고 구성하여 누가 언제 예기치 않은 필드 변경을 일으키고 있는지 확인해볼 수 있습니다.
 
  1.  사용자에게 앞으로 동일한 문제가 발생할 가능성이 있는 샘플 레코드를 모니터링하도록 요청합니다. 또한 레코드에 실제로 적용된 변경 사항 및 업데이트와 관련된 세부 사항을 정확하게 기록하도록 합니다. 구체적으로는 다음 항목을 확인해야 합니다.
 
  • 문제의 레코드에 대한 링크
  • 이전 값과 새 값을 포함하여 사용자에 의해 변경된 정확한 필드
  • 변경이 발생한 날짜, 시간, 표준시간대
 
  1. 예기치 않은 업데이트 또는 변경이 자주 발생하는 기간 동안 해당 레코드를 모니터링합니다. 구체적으로는 다음 항목을 확인해야 합니다.
 
  • 사용자가 레코드의 예기치 않은 업데이트를 인지하게 된 정확한 날짜와 시간
 
  • 문제의 레코드를 편집하기 전에 반드시 사용자와 정확한 날짜, 시간, 표준시간대를 포함해 해당 레코드의 'Last Modified By' 필드에 입력된 데이터를 수집합니다.
 
  • 레코드에 어떤 예기치 않은 필드 및 변경 사항이 발생했는지 설명합니다.
 
  • 문제의 레코드가 사용자가 수정한 이후의 주로 짧고 일정한 시간 프레임 내에 업데이트되는 경우, 관리자는 문제를 겪는 사용자와의 조율을 통해서 디버그 로깅 설정을 할 수 있습니다. 디버그 로그는 레코드를 수정하는 프로세스의 세부 사항을 포착하기 위한 효과적 수단입니다.
   
  • 또한 Apex 트리거는 특정 개체와 연결 및 저장되며 각 개체의 'object management(개체 관리)' 설정에 나타납니다. 관리자는 개발자와 협력하여 문제의 개체에 대해 존재할 수 있는 Apex 및 트리거 작업의 범위를 검토해야 합니다. 자세한 내용은 Apex 트리거 세부 사항종속성 파악하기에서 확인하세요.



레코드가 수동으로 업데이트된 경우를 나타내는 세부 사항

 
  • 사용자가 의도적으로 레코드를 변경했는지 물어봅니다. 그렇지 않은 경우 당시 사용자가 어떤 클릭 경로 또는 작업을 수행했는지를 물어봅니다. 해당 사용자가 수행한 단계를 정확히 따라가면서 다른 사용자들은 같은 작업을 어떻게 처리하는지 비교해보면 도움이 될 것입니다.
 
  • 해당 사용자의 일일 활동 및 개체와의 상호작용 방식을 활용하면 문제의 동작에 대한 추가적 인사이트를 얻을 수 있을 것입니다. 



레코드가 API 또는 통합을 통해 업데이트된 경우를 나타내는 세부 사항


알 수 없는 API 로그인 시도가 있는 경우, 로그인의 소스 IP를 사용해서 미국 인터넷 번호 등록 사이트(American Registry of Internet Numbers Site)의 'Whois-RWS' 검색 기능을 통해 'WhoIs' 조회를 해보면 도움이 될 수 있습니다. 그러면 보통 일반적으로 알 수 없는 로그인이 발생한 IP 주소의 소유자에 대한 조직 세부 정보를 알 수 있습니다.


활동(작업 및 이벤트) 레코드에 예기치 않은 업데이트를 일으킬 수 있는 것으로 알려진 일반적인 기능은 다음과 같습니다.
 


관리자는 해당 애플리케이션 또는 구성으로부터 문제를 겪는 사용자를 일시적으로 제외한 다음, 해당 사용자에게 예기치 않은 업데이트가 계속 발생하는지 모니터링 및 확인하도록 요청하는 것이 좋습니다. 변경 사항이 더 이상 규칙적으로 발생하지 않는다면, 각 애플리케이션 영역을 개별적으로 다시 도입하여 예기치 못한 변경 사항의 원인이 무엇인지 파악합니다. 프로덕션 환경에서 이와 같은 방법을 사용할 수 없는 경우 Sandbox를 사용해 이 문제 해결 방법을 테스트할 수 있습니다.

참고 항목:
데이터 복구 사용 중지
휴지통에서 삭제된 레코드를 복원할 수 없음

Knowledge 기사 번호

000381832

 
로드 중
Salesforce Help | Article