데이터베이스 잠금 및 잠금 해제(XMLA)

XMLA(XML for Analysis)에서 잠금 및 잠금 해제 명령을 각각 사용하여 데이터베이스를 잠그고 잠금 해제 할 수 있습니다. 일반적으로 다른 XMLA 명령은 실행 중 해당 명령을 수행하는 데 필요할 경우 자동으로 개체를 잠그거나 잠금 해제합니다. 데이터베이스를 명시적으로 잠그거나 잠금을 해제하여 Batch 명령과 같은 단일 트랜잭션 내에서 여러 명령을 수행하는 동시에 다른 애플리케이션이 데이터베이스에 쓰기 트랜잭션을 커밋하지 못하도록 할 수 있습니다.

데이터베이스 잠금

Lock 명령은 현재 활성 트랜잭션 컨텍스트 내에서 공유되거나 배타적으로 사용되는 개체를 잠급니다. 개체가 잠겨 있으면 잠금을 해제할 때까지 트랜잭션을 커밋할 수 없습니다. Microsoft SQL Server SQL Server Analysis Services 두 가지 유형의 잠금, 공유 잠금 및 배타적 잠금을 지원합니다. SQL Server Analysis Services 지원하는 잠금 유형에 대한 자세한 내용은 XMLA(Mode Element)를 참조하세요.

SQL Server Analysis Services 데이터베이스만 잠글 수 있습니다. Object 요소는 SQL Server Analysis Services 데이터베이스에 대한 개체 참조를 포함해야 합니다. Object 요소를 지정하지 않거나 Object 요소가 데이터베이스 이외의 개체를 참조하면 오류가 발생합니다.

중요

데이터베이스 관리자 또는 서버 관리자만 명시적으로 Lock 명령을 실행할 수 있습니다.

다른 명령은 SQL Server Analysis Services 데이터베이스에서 Lock 명령을 암시적으로 실행합니다. 데이터베이스의 데이터 또는 메타데이터를 읽는 작업(예: Discover 명령을 실행하는 Execute 메서드 또는 Statement 메서드)을 수행하면 데이터베이스에서 암시적으로 공유 잠금이 실행됩니다. Alter 명령을 실행하는 Execute 메서드와 같이 데이터 또는 메타데이터의 변경 내용을 SQL Server Analysis Services 데이터베이스의 개체에 커밋하는 모든 트랜잭션은 암시적으로 데이터베이스에 대한 배타적 잠금을 실행합니다.

개체 잠금 해제

Unlock 명령은 현재 활성 트랜잭션 컨텍스트 내에서 설정된 잠금을 해제합니다.

중요

데이터베이스 관리자 또는 서버 관리자만 명시적으로 Unlock 명령을 실행할 수 있습니다.

모든 잠금은 현재 트랜잭션의 컨텍스트에 유지됩니다. 현재 트랜잭션이 커밋 또는 롤백되면 해당 트랜잭션 내에 정의된 모든 잠금이 자동으로 해제됩니다.

참고 항목

Lock 요소(XMLA)
Unlock 요소(XMLA)
Analysis Services에서 XMLA를 사용하여 개발