개체 만들기 및 변경(XMLA)Creating and Altering Objects (XMLA)

주요 개체는 독립적으로 만들고 변경하고 삭제할 수 있습니다.Major objects can be independently created, altered, and deleted. 주요 개체에는 다음과 같은 개체가 포함됩니다.Major objects include the following objects:

  • 서버Servers

  • 데이터베이스Databases

  • 차원Dimensions

  • 큐브Cubes

  • 측정값 그룹Measure groups

  • 파티션Partitions

  • 큐브 뷰Perspectives

  • 마이닝 모델Mining models

  • 역할Roles

  • 서버 또는 데이터베이스에 연결된 명령Commands associated with a server or database

  • 데이터 원본Data sources

    사용 하면는 만들기 인스턴스에 주요 개체를 만드는 명령을 MicrosoftMicrosoft SQL ServerSQL Server Analysis ServicesAnalysis Services, 및 Alter 인스턴스의 기존 주요 개체를 변경 하는 명령입니다.You use the Create command to create a major object on an instance of MicrosoftMicrosoft SQL ServerSQL Server Analysis ServicesAnalysis Services, and the Alter command to alter an existing major object on an instance. 두 명령 모두 사용 하 여 실행 되는 Execute 메서드.Both commands are run using the Execute method.

개체 만들기Creating Objects

사용 하 여 개체를 만들 때는 만들기 메서드를 먼저 식별 해야 포함 하는 부모 개체는 Analysis ServicesAnalysis Services 만들 개체입니다.When you create objects by using the Create method, you must first identify the parent object that contains the Analysis ServicesAnalysis Services object to be created. 에 개체 참조를 제공 하 여 부모 개체를 식별는 ParentObject 의 속성은 만들기 명령입니다.You identify the parent object by providing an object reference in the ParentObject property of the Create command. 에 대 한 부모 개체를 고유 하 게 식별 하는 데 필요한 개체 식별자를 포함 하는 각 개체 참조는 만들기 명령입니다.Each object reference contains the object identifiers needed to uniquely identify the parent object for the Create command. 개체 참조에 대 한 자세한 내용은 참조 정의 및 식별 개체 ( XMLA ) .For more information about object references, see Defining and Identifying Objects (XMLA).

예를 들어 큐브에 대한 새 측정값 그룹을 만들려면 큐브에 대한 개체 참조를 제공해야 합니다.For example, you must provide an object reference to a cube to create a new measure group for the cube. 큐브에 대 한 개체 참조는 ParentObject 동일한 큐브 식별자를 다른 데이터베이스 에서도 사용할 수 있으므로 속성은 데이터베이스 식별자와 큐브 식별자가 모두 포함 합니다.The object reference for the cube in the ParentObject property contains both a database identifier and a cube identifier, as the same cube identifier could potentially be used on a different database.

ObjectDefinition 요소는 만들려는 주요 개체를 정의 하는 Analysis Services Scripting Language (ASSL) 요소를 포함 합니다.The ObjectDefinition element contains Analysis Services Scripting Language (ASSL) elements that define the major object to be created. ASSL에 대 한 자세한 내용은 참조 하세요. Analysis Services Scripting Language (를 사용 하 여 개발 ASSL ) .For more information about ASSL, see Developing with Analysis Services Scripting Language (ASSL).

설정 하는 경우는 AllowOverwrite 특성에는 만들기 명령을 true로 지정 된 식별자를 가진 기존 주요 개체를 덮어쓸 수 있습니다.If you set the AllowOverwrite attribute of the Create command to true, you can overwrite an existing major object that has the specified identifier. true로 설정하지 않으면 지정된 식별자를 가지고 있는 주요 개체가 부모 개체에 이미 있을 경우 오류가 발생합니다.Otherwise, an error occurs if a major object that has the specified identifier already exists in the parent object.

에 대 한 자세한 내용은 만들기 명령에서 참조 요소 만들기 ( XMLA ) .For more information about the Create command, see Create Element (XMLA).

세션 개체 만들기Creating Session Objects

세션 개체는 클라이언트 응용 프로그램에서 사용하는 명시적 또는 암시적 세션에만 사용할 수 있는 임시 개체로, 세션이 종료될 때 삭제됩니다.Session objects are temporary objects that are available only to the explicit or implicit session used by a client application and are deleted when the session is ended. 설정 하 여 세션 개체를 만들 수는 범위 특성에는 만들기 명령을 세션합니다.You can create session objects by setting the Scope attribute of the Create command to Session.

참고

사용 하는 경우는 세션 설정을 ObjectDefinition 요소만 포함할 수 있습니다 차원, 큐브, 또는 MiningModel ASSL 요소.When using the Session setting, the ObjectDefinition element can only contain Dimension, Cube, or MiningModel ASSL elements.

개체 변경Altering Objects

사용 하 여 개체를 수정 하는 경우는 Alter 메서드를 먼저 식별 해야에 개체 참조를 제공 하 여 수정할 개체는 개체 의 속성은 Alter명령입니다.When modifying objects by using the Alter method, you must first identify the object to be modified by providing an object reference in the Object property of the Alter command. 에 대 한 개체를 고유 하 게 식별 하는 데 필요한 개체 식별자를 포함 하는 각 개체 참조는 Alter 명령입니다.Each object reference contains the object identifiers needed to uniquely identify the object for the Alter command. 개체 참조에 대 한 자세한 내용은 참조 정의 및 식별 개체 ( XMLA ) .For more information about object references, see Defining and Identifying Objects (XMLA).

예를 들어 큐브의 구조를 수정하려면 큐브에 대한 개체 참조를 제공해야 합니다.For example, you must provide an object reference to a cube in order to modify the structure of a cube. 큐브에 대 한 개체 참조는 개체 동일한 큐브 식별자를 다른 데이터베이스 에서도 사용할 수 있으므로 속성은 데이터베이스 식별자와 큐브 식별자가 모두 포함 합니다.The object reference for the cube in the Object property contains both a database identifier and a cube identifier, as the same cube identifier could potentially be used on a different database.

ObjectDefinition 요소는 수정할 주요 개체를 정의 하는 ASSL 요소를 포함 합니다.The ObjectDefinition element contains ASSL elements that define the major object to be modified. ASSL에 대 한 자세한 내용은 참조 하세요. Analysis Services Scripting Language (를 사용 하 여 개발 ASSL ) .For more information about ASSL, see Developing with Analysis Services Scripting Language (ASSL).

설정 하는 경우는 AllowCreate 특성에는 Alter true로 명령 개체가 존재 하지 않는 경우 지정된 된 주요 개체를 만들 수 있습니다.If you set the AllowCreate attribute of the Alter command to true, you can create the specified major object if the object does not exist. true로 설정하지 않으면 지정된 주요 개체가 없을 경우 오류가 발생합니다.Otherwise, an error occurs if a specified major object does not already exist.

ObjectExpansion 특성 사용Using the ObjectExpansion Attribute

주요 개체의 속성만 변경 하 고 주요 개체에 포함 된 보조 개체를 다시 정의 하지 않은 경우 설정할 수 있습니다는 ObjectExpansion 특성에는 Alter 명령을 ObjectProperties합니다.If you are changing only the properties of the major object and are not redefining minor objects that are contained by the major object, you can set the ObjectExpansion attribute of the Alter command to ObjectProperties. ObjectDefinition 속성 다음에 주요 개체의 속성에 대 한 요소를 포함 하 고 Alter 명령 그대로 주요 개체에 연결 된 보조 개체를 유지 합니다.The ObjectDefinition property then only has to contain the elements for the properties of the major object, and the Alter command leaves minor objects associated with the major object untouched.

주요 개체에 대 한 보조 개체를 재정의 하려면 설정 해야 합니다는 ObjectExpansion 특성을 ExpandFull 개체 정의는 주요 개체에 포함 된 모든 보조 개체가 포함 해야 합니다.To redefine minor objects for a major object, you must set the ObjectExpansion attribute to ExpandFull and the object definition must include all minor objects that are contained by the major object. 경우는 ObjectDefinition 의 속성은 Alter 명령 주요 개체에 포함 된 보조 개체를 명시적으로 포함 되지 않기, 포함 되지 않은 보조 개체를 삭제 합니다.If the ObjectDefinition property of the Alter command does not explicitly include a minor object that is contained by the major object, the minor object that was not included is deleted.

세션 개체 변경Altering Session Objects

으로 만든 세션 개체를 수정 하는 만들기 명령을 설정 합니다는 범위 특성에는 Alter 명령을 세션합니다.To modify session objects created by the Create command, set the Scope attribute of the Alter command to Session.

참고

사용 하는 경우는 세션 설정을 ObjectDefinition 요소만 포함할 수 있습니다 차원, 큐브, 또는 MiningModel ASSL 요소.When using the Session setting, the ObjectDefinition element can only contain Dimension, Cube, or MiningModel ASSL elements.

하위 개체 만들기 또는 변경Creating or Altering Subordinate Objects

하지만 한 만들기 또는 Alter 만들거나 수정 하려는 주요 개체는 묶는 내에서 정의 포함할 수 있습니다, 명령을 만들거나 변경 하는 최상위의 주요 개체 하나의 ObjectDefinition 에 종속 된 다른 주요 및 보조 개체에 대 한 속성.Although a Create or Alter command creates or alters only one topmost major object, the major object being created or modified can contain definitions within the enclosing ObjectDefinition property for other major and minor objects that are subordinate to it. 예를 들어 큐브를 정의 하는 경우 데이터베이스를 지정 부모에서 ParentObject, 및 큐브 정의 내에서 ObjectDefinition 큐브 및 측정값 내에서 측정값 그룹을 정의할 수 있습니다 그룹 각 측정값 그룹에 대 한 파티션을 정의할 수 있습니다.For example, if you define a cube, you specify the parent database in ParentObject, and within the cube definition in ObjectDefinition you can define measure groups for the cube, and within the measure groups you can define partitions for each measure group. 보조 개체는 자신이 포함된 주요 개체 아래에만 정의될 수 있습니다.A minor object can be defined only under the major object that contains it. 주요 및 보조 개체에 대 한 자세한 내용은 참조 하십시오. 데이터베이스 개체 ( Analysis Services-다차원 데이터 ) .For more information about major and minor objects, see Database Objects (Analysis Services - Multidimensional Data).

Examples

DescriptionDescription

다음 예제에서는 관계형 데이터 원본을 참조 하는 Adventure Works DW Multidimensional 2012Adventure Works DW Multidimensional 2012 샘플 MicrosoftMicrosoft SQL ServerSQL Server 데이터베이스입니다.The following example creates a relational data source that references the Adventure Works DW Multidimensional 2012Adventure Works DW Multidimensional 2012 sample MicrosoftMicrosoft SQL ServerSQL Server database.

코드Code

<Create xmlns="http://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>  

DescriptionDescription

다음 예제에서는 이전 예제에서 만든 관계형 데이터 원본을 변경하여 데이터 원본에 대한 쿼리 제한 시간을 30초로 설정합니다.The following example alters the relational data source created in the previous example to set the query time-out for the data source to 30 seconds.

코드Code

<Alter ObjectExpansion="ObjectProperties" xmlns="http://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>  

설명Comments

ObjectExpansion 특성에는 Alter 명령으로 설정 된 ObjectProperties합니다.The ObjectExpansion attribute of the Alter command was set to ObjectProperties. 이 설정을 사용 하면는 ImpersonationInfo , 요소에 정의 된 데이터 원본에서 제외할 보조 개체인 ObjectDefinition합니다.This setting allows the ImpersonationInfo element, a minor object, to be excluded from the data source defined in ObjectDefinition. 따라서 해당 데이터 원본에 대한 가장 정보가 첫 번째 예제에서 지정한 대로 서비스 계정으로 설정된 채 유지됩니다.Therefore, the impersonation information for that data source remains set to the service account, as specified in the first example.

관련 항목:See Also

방법 ( 실행 XMLA ) Execute Method (XMLA)
스크립팅 언어 ( Analysis Services를 사용 하 여 개발 ASSL ) Developing with Analysis Services Scripting Language (ASSL)
Analysis Services에서 XMLA를 사용 하 여 개발Developing with XMLA in Analysis Services