共用方式為


建立和改變物件 (XMLA)

主要物件可以獨立建立、改變和刪除。 主要物件包括下列物件:

  • 伺服器

  • 資料庫

  • 維度

  • Cube

  • 量值群組

  • 資料分割

  • 檢視方塊

  • 採礦模型

  • 角色

  • 與伺服器或資料庫相關聯的命令

  • 資料來源

您可以使用Create命令在 Microsoft SQL Server SQL Server Analysis Services 實例上建立主要物件,以及Alter命令來改變實例上現有的主要物件。 這兩個命令都是使用 Execute 方法執行。

建立物件

當您使用Create方法建立物件時,您必須先識別包含要建立之SQL Server Analysis Services物件的父物件。 您可以在Create命令的ParentObject屬性中提供物件參考,以識別父物件。 每個物件參考都包含唯一識別 Create 命令之父物件所需的物件識別碼。 如需物件參考的詳細資訊,請參閱 定義和識別物件 (XMLA)

例如,您必須提供物件參考給 Cube,來為 Cube 建立新的量值群組。 ParentObject屬性中 Cube 的物件參考同時包含資料庫識別碼和 Cube 識別碼,因為同一個 Cube 識別碼可能用於不同的資料庫。

ObjectDefinition元素包含 Analysis Services 指令碼語言 (ASSL) 元素,這些元素會定義要建立的主要物件。 如需 ASSL 的詳細資訊,請參閱 使用 Analysis Services 指令碼語言開發 (ASSL)

如果您將Create命令的AllowOverwrite屬性設定為 true,您可以覆寫具有指定識別碼的現有主要物件。 否則,如果具有指定識別碼的主要物件已經在父物件中,就會發生錯誤。

如需 Create 命令的詳細資訊,請參閱 Create Element (XMLA)

建立工作階段物件

工作階段物件是只能用於用戶端應用程式所使用的明確或隱含工作階段的暫存物件,而且會在結束工作階段時刪除。 您可以將Create命令的Scope屬性設定為 Session,以建立會話物件。

注意

使用 會話 設定時, ObjectDefinition 元素只能包含 DimensionCubeMiningModel ASSL 元素。

改變物件

使用Alter方法修改物件時,您必須先在Alter命令的Object屬性中提供物件參考,以識別要修改的物件。 每個物件參考都包含唯一識別 Alter 命令的物件所需的物件識別碼。 如需物件參考的詳細資訊,請參閱 定義和識別物件 (XMLA)

例如,您必須提供物件參考給 Cube,以修改 Cube 的結構。 Object屬性中 Cube 的物件參考同時包含資料庫識別碼和 Cube 識別碼,因為同一個 Cube 識別碼可能用於不同的資料庫。

ObjectDefinition元素包含 ASSL 元素,可定義要修改的主要物件。 如需 ASSL 的詳細資訊,請參閱 使用 Analysis Services 指令碼語言開發 (ASSL)

如果您將Alter命令的AllowCreate屬性設定為 true,您可以在物件不存在時建立指定的主要物件。 否則,如果指定的主要物件尚未存在,就會發生錯誤。

使用 ObjectExpansion 屬性

如果您只變更主要物件的屬性,而且不會重新定義主要物件所包含的次要物件,您可以將Alter命令的ObjectExpansion屬性設定為ObjectPropertiesObjectDefinition屬性接著只需要包含主要物件的屬性元素,Alter命令會保留與主要物件未觸控關聯的次要物件。

若要重新定義主要物件的次要物件,您必須將 ObjectExpansion 屬性設定為 ExpandFull ,而且物件定義必須包含主要物件所包含的所有次要物件。 如果Alter命令的ObjectDefinition屬性未明確包含主要物件所包含的次要物件,則會刪除未包含的次要物件。

改變工作階段物件

若要修改Create命令所建立的會話物件,請將Alter命令的Scope屬性設定為Session

注意

使用 會話 設定時, ObjectDefinition 元素只能包含 DimensionCubeMiningModel ASSL 元素。

建立或改變從屬物件

雖然 CreateAlter 命令只會建立或改變一個最上層的主要物件,但所建立或修改的主要物件可以包含包含在封入 ObjectDefinition 屬性內的定義,以供其附屬的其他主要和次要物件使用。 例如,如果您定義 Cube,您可以在 ParentObject中指定父資料庫,並在 ObjectDefinition 中的 Cube 定義中定義 Cube 的量值群組,以及在量值群組中,您可以為每個量值群組定義資料分割。 次要物件只能在包含它的主要物件之下定義。 如需主要和次要物件的詳細資訊,請參閱 Database Objects (Analysis Services - 多維度資料)

範例

描述

下列範例會建立關聯式資料來源,參考 Adventure Works DW 多維度 2012 範例 Microsoft SQL Server 資料庫。

程式碼

<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>  

描述

下列範例修改前面範例中所建立的關聯式資料來源,以便將資料來源的查詢逾時設定成 30 秒。

程式碼

<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>  

註解

Alter命令的ObjectExpansion屬性已設定為ObjectProperties。 此設定可讓 ImpersonationInfo 元素是次要物件,從 ObjectDefinition中定義的資料來源中排除。 因此,資料來源的模擬資訊仍然會設定成服務帳號,如第一個範例中所指定。

另請參閱

Execute 方法 (XMLA)
使用 Analysis Services 指令碼語言 (ASSL) 開發
在 Analysis Services 中使用 XMLA 進行開發