다음을 통해 공유


계단식 트랜잭션의 비동기 처리

특정 트랜잭션은 모든 관련 레코드에 걸쳐 계단식으로 구성될 수 있습니다. 이것은 상위 레코드에 대한 변경이 모든 하위 레코드에 대해(계단식 아래로) 처리됨을 의미합니다. 계단식 관계는 테이블 수준에서 구성됩니다. 계단식 관계에 대한 자세한 내용은 테이블 관계 계단식 동작 구성을 참조하십시오.

동기 모드와 비동기 모드 비교

기본적으로 계단식 작업은 동기 트랜잭션으로 수행됩니다. 동기 계단식 트랜잭션의 경우 영향을 받는 모든 레코드가 시스템에 의해 식별됩니다. 레코드가 처리되면 시스템에 의해 잠깁니다. 모든 변경이 완료되면 레코드가 잠금 해제되고 트랜잭션이 완료됩니다.

레코드 수가 많은 동기 트랜잭션은 서버 시간 초과로 인해 장기 실행 트랜잭션이 실패할 경우 환경에 성능 문제를 일으킬 수 있습니다. 동일한 레코드에서 작동하는 다른 작업 및 사용자 트랜잭션이 실행되지 않도록 레코드가 잠겨 있습니다. 또한 오래 실행되는 트랜잭션은 보류 중인 트랜잭션 및 요청에 대한 백로그를 초래하여 시스템 성능을 저하시키고 작업 중단을 일으킬 수 있습니다.

동기 계단식 작업이 진행되는 동안 환경에서 시간 초과가 발생하거나 성능이 저하되는 경우 비동기 모드를 활성화하면 환경에 도움이 될 수 있습니다. 모드 간의 주요 차이점은 다음 표에 설명되어 있습니다.

동기 모드 비동기 모드
계단식 작업이 완료될 때까지 선택한 레코드 전체(직접 또는 계단식) 전체에서 다른 작업을 실행할 수 없습니다. 할당, 삭제 및 병합의 경우 계단식 변경 사항이 일괄 처리되어 일괄 처리 내에서 처리되는 레코드만 잠깁니다. 따라서 전체 계단식 변경 작업 중에 다른 작업을 실행할 수 있습니다.
작업이 완료되면 모든 데이터에 원하는 새 값이 표시됩니다. 작업이 실행될 때 완료된 각 배치는 원하는 값을 표시합니다. 이는 일부 데이터에 원하는 값이 표시되고 일부는 전체 작업이 완료될 때까지 원래 값이 표시되는 시간이 있음을 의미합니다. 이는 "최종 일관성"이라고 합니다.
단일 레코드가 실패하면 모든 데이터가 원래 값으로 롤백됩니다. 롤백하려면 완료된 모든 레코드를 다시 편집해야 하며, 더 많은 시간이 걸립니다. 단일 작업이 실패하면 완료를 시도하기 위해 여러 번 재시도됩니다. 작업을 완료할 수 없는 경우 실패는 시스템 작업 영역에 기록됩니다. 성공적으로 완료된 레코드는 새 값을 유지합니다.
계단식 목록의 레코드 중 하나에 예상 값과 다른 값이 있는 경우 작업이 실패하고 롤백됩니다. 예를 들어 시작 레코드는 담당자 1에 속하고 계단식 작업은 담당자 2로 변경하려고 한다고 가정합니다. 다운스트림 관련 레코드 중 하나가 담당자 3 또는 잠금이 발생하기 전에 삭제되면 전체 작업이 롤백됩니다. 할당의 경우 작업은 항상 덮어쓰기 모드에서 작동하여 상위-하위 관계를 기반으로 현재 값을 새 값으로 변경합니다. 원래 값 불일치로 인한 작업 실패가 없습니다. 삭제의 경우 세트의 일부로 예상했던 레코드가 누락되면 실패 지점까지의 모든 레코드가 완료된 것으로 간주됩니다. 사용자 또는 관리자는 실패한 작업을 다시 실행할 수 있습니다. 그러면 누락된 레코드 없이 작업을 다시 계산하여 계속할 수 있습니다. 병합의 경우 누락된 레코드에 문제가 있는 경우 작업이 다시 시도되고 누락된 레코드 없이 실행됩니다.

비동기 모드

계단식 트랜잭션이 포함된 레코드에 대한 임계값을 충족하면 레코드가 비동기적으로 처리됩니다.

Operation Threshold
할당 1,000개 레코드
Delete 5,000개의 레코드
병합 1,000개 레코드

비동기 작업 진행률 추적

관리자는 설정 영역에서 비동기 작업의 처리를 모니터링할 수 있습니다.

  1. Power Platform 관리 센터에 로그인합니다.

  2. 탐색 영역에서 환경을 선택합니다. 그런 다음, 원하는 환경을 선택합니다.

  3. 설정을 선택하고 감사 및 로그를 선택한 다음 시스템 작업을 선택합니다.

  4. 계단식 작업은 시스템 작업 보기에 표시됩니다.

    계단식 작업 보기.

    계단식 작업만 보려면 보기 선택기에서 계단식 작업을 선택합니다.

    계단식 작업 보기 선택기.

계단식 작업은 다음 상태 중 하나입니다.

  • 완료: 계단식 거래의 모든 배치가 성공적으로 완료되었습니다.
  • 진행 중: 계단식 변경이 진행 중입니다.
  • 실패: 여러 번 재시도한 결과, 일부 연쇄 변경 사항이 실패했습니다.

노트

비동기 계단식 작업은 취소할 수 없습니다. 상태를 완료됨 또는 실패함으로 표시하여 완료될 때까지 기다려야 합니다.

계단식 작업을 열면 다음이 표시됩니다.

  • 특정 트랜잭션에 대해 재시도 횟수

  • 만들고 완료한 날짜 및 시간.

  • 작업을 만든 사람.

  • 실패 이유 또는 예외와 같은 작업과 연관된 모든 메시지.

    계단식 작업 레코드.

어떤 계단식 트랜잭션을 비동기로 처리할 수 있습니까?

계단식 트랜잭션 할당, 삭제 및 병합은 비동기적으로 처리될 수 있습니다.

노트

공유/공유 해제, 롤업 보기 및 상위 재지정 같은 다른 트랜잭션은 현재 비동기 처리를 위해 검토 중입니다.

비동기 연속 작업 관련 문제 해결

동기식 연속 작업이 실패하면 레코드에 요청된 변경 내용이 포함되지 않도록 모든 변경 사항을 중지하고 롤백합니다. 롤백은 원래 시도와 작업 재시도가 첫 번째 레코드에서 다시 시작되는 한 오래 걸릴 수 있으므로 시간이 많이 소요될 수 있습니다.

오류가 발생하면 비동기 작업이 여러 번 다시 시도됩니다. 대부분의 경우 작업을 재시도하면 성공하고 작업이 계속 완료될 수 있습니다. 드물지만 다시 시도해도 문제가 해결되지 않는 경우가 있습니다. 이 경우 비동기 작업이 일시 중지되고 관리자와 사용자는 문제를 해결하고 일시 중지된 지점에서 작업을 다시 시작할 수 있습니다.

연속 작업의 일반적인 실패 원인

연속 작업 처리 실패의 일반적인 원인은 다음과 같습니다.

  • 플러그 인 예외
  • 보안 예외

플러그 인 예외

플러그 인은 연속 작업 처리에 추가되어 레코드가 변경될 때 이메일을 보내거나 다른 레코드에서 다른 업데이트를 트리거하는 것과 같은 특정 작업을 수행합니다. 이는 제3자에 의해 제공되거나 자체적으로 개발될 수 있습니다. 플러그 인이 예외를 생성하면 계단식 작업이 실패합니다. 예외 이유에 따라 재시도하여 문제를 해결할 수 있습니다. 실패로 인해 비동기 연속 작업이 일시 중지된 경우 작업과 연결된 모든 플러그 인의 유효성을 검사하여 예외가 생성되지 않는지 확인합니다. 해결되면 작업을 재개할 수 있습니다.

보안 예외

연속 작업을 실행한 사용자에게 하나 이상의 레코드를 변경할 수 있는 권한이 없거나 사용자가 시스템에서 비활성화되거나 제거된 경우 보안 예외가 발생합니다.

사용자가 여전히 시스템에 있는 경우 레코드를 수정하는 데 필요한 권한이 있고 지정된 작업을 실행할 수 있는 권한이 있는지 확인하십시오. 이 문제가 해결된 후 작업을 재개하십시오.

사용자가 비활성화되었거나 시스템에서 제거된 경우 사용자를 다시 활성화하거나 다시 추가하면 문제가 해결되고 작업을 재개할 수 있습니다. 그러나 사용자를 삭제하거나 비활성화해야 하거나 작업 또는 레코드에 대한 권한이 없어야 하는 경우 적절한 권한이 있는 사용자가 작업을 취소하고 다시 시작해야 합니다.

실패한 작업과 관련된 다른 문제가 있는 경우 Microsoft 지원팀에 문의하세요. 추가 정보: 지원 개요

연속 병합 중 파일 삭제 문제 해결

작업 실행 중에 파일이 삭제되어 연속 병합 작업에 실패하는 경우 상위 여부 검사를 건너뛸 수 있습니다. 이렇게 하면 작업이 백그라운드에서 실행되는 동안 누군가가 세트에서 레코드를 삭제하더라도 병합을 계속할 수 있습니다. 레코드 병합을 선택하면 병합 창 하단에서 상위 여부 검사는 기본적으로 활성화되어 있습니다. 상위 여부 검사를 무시하려면 체크를 해제하세요 옵션을 선택 취소합니다.

레코드 병합 대화 상자.

레코드 병합 예

주문과 관계가 있는 연락처와 관계가 있는 계정이 있다고 가정해 보십시오. 두 개의 계정 레코드를 병합하려고 합니다.

작업이 성공적으로 실행되면 병합은 모든 관련 연락처와 해당 주문을 대상 계정에 할당합니다.

레코드 병합 프로세스 중에 다른 사용자가 관련 연락처 레코드를 삭제했지만 연락처 레코드와 관련된 주문 레코드가 여전히 존재하는 경우 하위 레코드의 상위 항목이 없기 때문에 병합 작업이 실패합니다. 레코드 병합 중에 상위 여부 검사를 건너 뛰도록 선택하면 연락처 레코드가 누락된 주문이 대상 계정 레코드에 병합됩니다. 그러나 관련 연락처 레코드가 대상 계정에 할당되지 않고 작업이 완료됩니다.

병합으로 인해 다른 액세스 변경을 방지하는 잠금 발생

계단식 병합 작업은 하위 테이블의 새 소유자에게 액세스 권한을 부여합니다. 이를 위해 계단식 병합 작업은 잠금이 필요한 보안 주체 대상 테이블에 액세스하여 변경합니다. 병합 작업에 여러 레코드가 포함된 경우(연쇄 관계에 따라) 이 잠금은 오랜 시간 동안 적용될 수 있습니다. 병합이 실행되는 동안 작업이 관련되지 않은 레코드에 대한 액세스 권한을 부여 또는 취소하려고 하면 오류가 발생할 수 있습니다. 이 경우 차단을 줄일 수 있도록 업무 외 시간에 병합을 실행하십시오.

참조 항목

표 관계 개요