共用方式為


創建與改變物件 (XMLA)

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

  • 伺服器

  • 資料庫

  • 尺寸

  • 立方體

  • 量值群組

  • 分區

  • 觀點

  • 採礦模型

  • 角色

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

  • 數據源

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

建立物件

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

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

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

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

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

建立會話物件

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

備註

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

改變物件

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

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

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

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

使用 ObjectExpansion 屬性

如果您只變更主要物件的屬性,而且不會重新定義主要物件所包含的次要物件,您可以將命令的 Alter 屬性設定ObjectExpansionObjectProperties。 然後,屬性 ObjectDefinition 只需要包含主要物件屬性的元素,而 Alter 命令會讓與主要物件建立關聯的次要物件保持不變。

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

改變會話物件

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

備註

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

建立或改變從屬物件

Create雖然 或 Alter 命令只會建立或改變一個最上層的主要物件,但是所建立或修改的主要物件可以包含屬於它之其他主要和次要物件之封入ObjectDefinition屬性內的定義。 例如,如果您定義 Cube,您可以在 中 ParentObject指定父資料庫,並在 中的 Cube 定義 ObjectDefinition 中定義 Cube 的量值群組,以及在量值群組中,您可以為每個量值群組定義數據分割。 次要物件只能定義在包含它的主要物件之下。 如需主要和次要對象的詳細資訊,請參閱資料庫物件(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>  

評論

命令 ObjectExpansionAlter 屬性已設定為 ObjectProperties。 此設定可讓 ImpersonationInfo 元素,即次要物件,從中 ObjectDefinition定義的數據源中排除。 因此,該數據源的模擬資訊仍會設定為服務帳戶,如第一個範例中所指定。

另請參閱

Execute 方法 (XMLA)
使用 Analysis Services 文稿語言進行開發 (ASSL)
在 Analysis Services 中使用 XMLA 進行開發