트랜잭션 관리(XMLA)

 

적용 대상: SQL Server 2016 Preview

인스턴스로 보낸 Analysis (XMLA) 명령에 대 한 모든 XML Microsoft SQL Server Analysis Services 현재 암시적 또는 명시적 세션에서 트랜잭션 컨텍스트 내에서 실행 합니다. 이러한 트랜잭션을 각각을 관리 하기 위해 사용 하는 BeginTransaction, CommitTransaction, 및 RollbackTransaction 명령입니다. 이러한 명령을 사용하여 암시적 또는 명시적 트랜잭션을 만들거나 트랜잭션 참조 횟수를 변경하거나 트랜잭션을 시작, 커밋 또는 롤백할 수 있습니다.

트랜잭션은 암시적이거나 명시적입니다.

암시적 트랜잭션
Analysis Services만듭니다는 암시적 XMLA에 대 한 트랜잭션을 경우 명령에서 BeginTransaction 명령은 트랜잭션의 시작을 지정 하지 않습니다. Analysis Services는 명령이 성공하는 경우 항상 암시적 트랜잭션을 커밋하고 명령이 실패하는 경우 암시적 트랜잭션을 롤백합니다.

명시적 트랜잭션
Analysis Services만듭니다는 명시적 트랜잭션 하는 경우는 BeginTransaction 명령에서 트랜잭션을 시작 합니다. 그러나 Analysis Services 하는 경우에 명시적 트랜잭션을 커밋하고 CommitTransaction 명령을 전송 되 고 하는 경우는 명시적 트랜잭션을 롤백합니다는 RollbackTransaction 명령이 전송 됩니다.

또한 활성 트랜잭션이 완료되기 전에 현재 세션이 끝나면 Analysis Services는 암시적 트랜잭션과 명시적 트랜잭션을 모두 롤백합니다.

Analysis Services는 각 세션의 트랜잭션 참조 횟수를 유지 관리합니다. 그러나 세션별로 하나의 활성 트랜잭션만 유지 관리되는 경우 Analysis Services는 중첩된 트랜잭션을 지원하지 않습니다. 현재 세션에 활성 트랜잭션이 없는 경우 트랜잭션 참조 횟수가&0;으로 설정됩니다.

즉, 각 BeginTransaction 명령은 참조 횟수를&1; 씩 늘리고 각 CommitTransaction 하나에서 참조 횟수를 명령 감소 합니다. 경우에 CommitTransaction 트랜잭션 수를&0;으로 설정 하는 명령 Analysis Services 트랜잭션을 커밋합니다.

그러나는 RollbackTransaction 명령은 트랜잭션 참조 횟수의 현재 값에 관계 없이 활성 트랜잭션을 롤백합니다. 즉, 단일 RollbackTransaction 명령 개수에 관계 없이 활성 트랜잭션을 롤백합니다. BeginTransaction 명령 또는 CommitTransaction 명령을 보낸 및 트랜잭션 참조 횟수를&0;으로 설정 합니다.

BeginTransaction 명령은 현재 세션에서 명시적 트랜잭션을 시작 하 고 하나에서 현재 세션에 대 한 트랜잭션 참조 횟수를 증가 시킵니다. 이후의 모든 명령은 충분 될 때까지 활성 트랜잭션 내 것으로 간주 됩니다 CommitTransaction 명령이 전달 되는 활성 트랜잭션을 커밋하거나 단일 RollbackTransaction 명령을 보내 활성 트랜잭션을 롤백합니다.

CommitTransaction 명령 후에 실행 되는 명령 결과 커밋합니다는 BeginTransaction 명령이 현재 세션에서 실행 합니다. 각 CommitTransaction 명령은 참조 횟수를 줄입니다 활성 트랜잭션에 대 한 세션에 있습니다. 경우에 CommitTransaction 참조 횟수를&0;으로 설정 하는 명령 Analysis Services 활성 트랜잭션을 커밋합니다. 활성 트랜잭션이 없는 경우 (즉, 현재 세션의 트랜잭션 참조 횟수가 이미 설정은&0;), 한 CommitTransaction 명령 오류가 발생 합니다.

RollbackTransaction 명령은 후 실행 되는 명령 결과를 롤백합니다.는 BeginTransaction 명령이 현재 세션에서 실행 합니다. RollbackTransaction 명령은 현재 트랜잭션 참조 횟수에 관계 없이 활성 트랜잭션을 롤백하고 트랜잭션 참조 횟수를&0;으로 설정 합니다. 활성 트랜잭션이 없는 경우 (즉, 현재 세션의 트랜잭션 참조 횟수가 이미 설정은&0;), 한 RollbackTransaction 명령 오류가 발생 합니다.

Analysis Services에서 XMLA를 사용 하 여 개발

커뮤니티 추가 항목

표시: