Lock 요소(XMLA)
Analysis Services 인스턴스에서 지정된 개체를 잠가 줍니다.
구문
<Command>
<Lock>
<ID>...</ID>
<Object>...</Object>
<Mode>...</Mode>
</Lock>
</Command>
요소 특성
특성 | Description |
---|---|
데이터 형식 및 길이 | None |
기본값 | None |
카디널리티 | 0-n: 두 번 이상 나타날 수 있는 선택적 요소입니다. |
요소 관계
관계 | 요소 |
---|---|
부모 요소 | 명령 |
자식 요소 | ID, Mode, Object |
설명
Lock 명령은 현재 활성 트랜잭션 컨텍스트 내에서 공유되거나 배타적으로 사용되는 개체를 잠급니다. 데이터베이스 관리자 또는 서버 관리자만 명시적으로 Lock 명령을 실행할 수 있습니다. 개체가 잠겨 있으면 잠금을 해제할 때까지 트랜잭션을 커밋할 수 없습니다. Analysis Services는 공유 잠금 및 배타적 잠금의 두 가지 유형의 잠금을 지원합니다.
Analysis Services를 사용하면 데이터베이스만 잠글 수 있습니다. Object 요소는 Analysis Services 데이터베이스에 대한 개체 참조를 포함해야 합니다. Object 요소를 지정하지 않거나 Object 요소가 데이터베이스 이외의 개체를 참조하면 오류가 발생합니다.
다른 명령은 Analysis Services 데이터베이스에서 잠금 명령을 암시적으로 실행합니다. 데이터베이스의 데이터 또는 메타데이터를 읽는 작업(예: Discover 명령을 실행하는 Execute 메서드 또는 Statement 메서드)을 수행하면 데이터베이스에서 암시적으로 공유 잠금이 실행됩니다. Alter 명령을 실행하는 Execute 메서드와 같이 Analysis Services 데이터베이스의 개체에 대한 데이터 또는 메타데이터의 변경 내용을 커밋하는 모든 트랜잭션은 데이터베이스에 대한 배타적 잠금을 암시적으로 실행합니다.
모든 잠금은 현재 트랜잭션의 컨텍스트에 유지됩니다. 현재 트랜잭션이 커밋 또는 롤백되면 해당 트랜잭션 내에 정의된 모든 잠금이 자동으로 해제됩니다.