주 개체는 독립적으로 생성, 변경 및 삭제할 수 있습니다. 주요 개체는 다음과 같습니다.
서버
데이터베이스
치수
큐브
측정값 그룹
파티션
관점
마이닝 모델
역할
서버 또는 데이터베이스와 연결된 명령
데이터 원본
Create 명령을 사용하여 Microsoft SQL Server Analysis Services 인스턴스에 주 개체를 만들고 Alter 명령을 사용하여 인스턴스의 기존 주 개체를 변경합니다. 두 명령 모두 Execute 메서드를 사용하여 실행됩니다.
개체 만들기
메서드를 사용하여 개체를 Create 만들 때 먼저 만들 Analysis Services 개체가 포함된 부모 개체를 식별해야 합니다. 명령의 ParentObject 속성에 개체 참조를 제공하여 부모 개체를 식별합니다 Create . 각 개체 참조에는 명령에 대한 Create 부모 개체를 고유하게 식별하는 데 필요한 개체 식별자가 포함됩니다. 개체 참조에 대한 자세한 내용은 XMLA(개체 정의 및 식별)를 참조하세요.
예를 들어 큐브에 대한 새 측정값 그룹을 만들려면 큐브에 대한 개체 참조를 제공해야 합니다. 동일한 큐브 식별자를 다른 데이터베이스에서 사용할 수 있으므로 속성의 ParentObject 큐브에 대한 개체 참조에는 데이터베이스 식별자와 큐브 식별자가 모두 포함됩니다.
ObjectDefinition 요소에는 만들 주요 개체를 정의하는 ASSL(Analysis Services Scripting Language) 요소가 포함되어 있습니다. ASSL에 대한 자세한 내용은 ASSL(Analysis Services Scripting Language)을 사용하여 개발을 참조하세요.
명령의 Create 특성을 true로 설정 AllowOverwrite 하면 지정된 식별자가 있는 기존 주 개체를 덮어쓸 수 있습니다. 그렇지 않으면 지정된 식별자가 있는 주 개체가 부모 개체에 이미 있는 경우 오류가 발생합니다.
명령에 대한 Create 자세한 내용은 XMLA(Create Element)를 참조하세요.
세션 개체 만들기
세션 개체는 클라이언트 애플리케이션에서 사용하는 명시적 또는 암시적 세션에만 사용할 수 있고 세션이 종료될 때 삭제되는 임시 개체입니다. 명령의 특성을 Session으로 설정 Scope 하여 세션 개체를 Create 만들 수 있습니다.
비고
세션 설정을 ObjectDefinition 사용하는 경우 요소는 Dimension, Cube 또는 MiningModel ASSL 요소만 포함할 수 있습니다.
개체 변경
메서드를 사용하여 Alter 개체를 수정할 때는 먼저 명령의 Object 속성에 개체 참조를 제공하여 수정할 개체를 Alter 식별해야 합니다. 각 개체 참조에는 명령에 대한 Alter 개체를 고유하게 식별하는 데 필요한 개체 식별자가 포함됩니다. 개체 참조에 대한 자세한 내용은 XMLA(개체 정의 및 식별)를 참조하세요.
예를 들어 큐브의 구조를 수정하려면 큐브에 대한 개체 참조를 제공해야 합니다. 동일한 큐브 식별자를 다른 데이터베이스에서 사용할 수 있으므로 속성의 Object 큐브에 대한 개체 참조에는 데이터베이스 식별자와 큐브 식별자가 모두 포함됩니다.
요소 ObjectDefinition 에는 수정할 주 개체를 정의하는 ASSL 요소가 포함됩니다. ASSL에 대한 자세한 내용은 ASSL(Analysis Services Scripting Language)을 사용하여 개발을 참조하세요.
명령의 Alter 특성을 true로 설정 AllowCreate 하면 개체가 없는 경우 지정된 주 개체를 만들 수 있습니다. 그렇지 않으면 지정된 주 개체가 아직 없는 경우 오류가 발생합니다.
ObjectExpansion 특성 사용
주 개체의 속성만 변경하고 주 개체에 포함된 보조 개체를 다시 정의하지 않는 경우 명령의 Alter 특성을 ObjectProperties로 설정할 ObjectExpansion 수 있습니다. 그런 다음 속성은 ObjectDefinition 주 개체의 속성에 대한 요소만 포함해야 하며 Alter 명령은 주 개체와 연결된 보조 개체를 그대로 둡니다.
주 개체에 대한 보조 개체를 다시 정의하려면 특성을 ExpandFull로 설정 ObjectExpansion 해야 하며 개체 정의에는 주 개체에 포함된 모든 보조 개체가 포함되어야 합니다. 명령의 속성에 ObjectDefinitionAlter 주 개체에 포함된 부 개체가 명시적으로 포함되지 않으면 포함되지 않은 부 개체가 삭제됩니다.
세션 개체 변경
명령에서 만든 세션 개체를 Create 수정하려면 명령의 Alter 특성을 Session으로 설정합니다Scope.
비고
세션 설정을 ObjectDefinition 사용하는 경우 요소는 Dimension, Cube 또는 MiningModel ASSL 요소만 포함할 수 있습니다.
하위 개체 만들기 또는 변경
또는 Create 명령이 맨 위에 있는 주 개체를 하나만 만들거나 Alter 변경하지만 생성되거나 수정되는 주 개체에는 종속된 다른 주 개체와 보조 개체에 대한 바깥쪽 ObjectDefinition 속성 내의 정의가 포함될 수 있습니다. 예를 들어 큐브를 정의하는 경우 큐브 정의 내에서 ParentObject부모 데이터베이스를 지정하고 큐브 정의 ObjectDefinition 내에서 큐브에 대한 측정값 그룹을 정의할 수 있으며 측정값 그룹 내에서 각 측정값 그룹에 대한 파티션을 정의할 수 있습니다. 부 개체는 해당 개체를 포함하는 주 개체에서만 정의할 수 있습니다. 주 개체 및 부 개체에 대한 자세한 내용은 데이터베이스 개체(Analysis Services - 다차원 데이터)를 참조하세요.
예시
설명
다음 예제에서는 Adventure Works DW 다차원 2012 샘플 Microsoft SQL Server 데이터베이스를 참조하는 관계형 데이터 원본을 만듭니다.
코드
<Create xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">
<ParentObject>
<DatabaseID>Adventure Works DW Multidimensional 2012</DatabaseID>
</ParentObject>
<ObjectDefinition>
<DataSource xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="RelationalDataSource">
<ID>AdventureWorksDW2012</ID>
<Name>AdventureWorksDW2012</Name>
<ConnectionString>Data Source=localhost;Initial Catalog=AdventureWorksDW2008R2;Integrated Security=True</ConnectionString>
<ImpersonationInfo>
<ImpersonationMode>ImpersonateServiceAccount</ImpersonationMode>
</ImpersonationInfo>
<ManagedProvider>System.Data.SqlClient</ManagedProvider>
<Timeout>PT0S</Timeout>
</DataSource>
</ObjectDefinition>
</Create>
설명
다음 예제에서는 이전 예제에서 만든 관계형 데이터 원본을 변경하여 데이터 원본에 대한 쿼리 제한 시간을 30초로 설정합니다.
코드
<Alter ObjectExpansion="ObjectProperties" xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>Adventure Works DW Multidimensional 2012</DatabaseID>
<DataSourceID>AdventureWorksDW2012</DataSourceID>
</Object>
<ObjectDefinition>
<DataSource xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="RelationalDataSource">
<ID>AdventureWorksDW2012</ID>
<Name>AdventureWorksDW2012</Name>
<ConnectionString>Data Source=fr-dwk-02;Initial Catalog=AdventureWorksDW2008R2;Integrated Security=True</ConnectionString>
<ManagedProvider>System.Data.SqlClient</ManagedProvider>
<Timeout>PT30S</Timeout>
</DataSource>
</ObjectDefinition>
</Alter>
코멘트
ObjectExpansion 명령의 특성이 AlterObjectProperties로 설정되었습니다. 이 설정을 사용하면 부 개체인 ImpersonationInfo 요소를 정의된 데이터 원본에서 제외할 수 있습니다 ObjectDefinition. 따라서 해당 데이터 원본에 대한 가장 정보는 첫 번째 예제에 지정된 대로 서비스 계정으로 설정된 상태로 유지됩니다.
또한 참조하십시오
Execute 메서드(XMLA)
ASSL(Analysis Services Scripting Language)을 사용하여 개발
Analysis Services에서 XMLA를 사용하여 개발