主要物件可以獨立建立、改變和刪除。 主要物件包括下列物件:
伺服器
資料庫
維度
Cube
量值群組
資料分割
檢視方塊
採礦模型
角色
與伺服器或資料庫相關聯的命令
資料來源
您可以使用Create命令在 Microsoft SQL Server Analysis Services 的實例上建立主要物件,並使用Alter命令來改變實例上現有的主要物件。 這兩個命令都是使用 Execute 方法執行 。
建立物件
當您使用 Create
方法來建立物件時,您必須先識別包含要建立之 Analysis Services 物件的父物件。 您可以在命令的 Create
ParentObject屬性中提供物件參考,以識別父物件。 每個物件參考都包含唯一識別 Create
命令的父物件所需的物件識別碼。 如需物件參考的詳細資訊,請參閱 定義和識別物件 (XMLA) 。
例如,您必須提供物件參考給 Cube,來為 Cube 建立新的量值群組。 在 ParentObject
屬性中的 Cube 之物件參考,包含資料庫識別碼與 Cube 識別碼,因為相同的 Cube 識別碼可能會用於不同的資料庫。
ObjectDefinition元素包含 Analysis Services 指令碼語言 (ASSL) 元素,這些元素會定義要建立的主要物件。 如需 ASSL 的詳細資訊,請參閱 使用 Analysis Services 指令碼語言進行開發 (ASSL) 。
如果您將 AllowOverwrite
命令的 Create
屬性設定為 True,可以覆寫具有指定識別碼的現有主要物件。 否則,如果具有指定識別碼的主要物件已經在父物件中,就會發生錯誤。
如需命令的詳細資訊 Create
,請參閱 建立專案 (XMLA) 。
建立工作階段物件
工作階段物件是只能用於用戶端應用程式所使用的明確或隱含工作階段的暫存物件,而且會在結束工作階段時刪除。 您可以將命令的 Create
屬性設定 Scope
為 Session,以建立會話物件。
注意
使用 會話 設定時,元素 ObjectDefinition
只能包含 Dimension、 Cube或 MiningModel ASSL 元素。
改變物件
使用 Alter
方法來修改物件時,您必須先在命令的 Alter
Object屬性中提供物件參考,以識別要修改的物件。 每個物件參考都包含唯一識別 Alter
命令的物件所需的物件識別碼。 如需物件參考的詳細資訊,請參閱 定義和識別物件 (XMLA) 。
例如,您必須提供物件參考給 Cube,以修改 Cube 的結構。 在 Object
屬性中的 Cube 之物件參考,包含資料庫識別碼與 Cube 識別碼,因為相同的 Cube 識別碼可能會用於不同的資料庫。
ObjectDefinition
元素包含定義要修改的主要物件之 ASSL 元素。 如需 ASSL 的詳細資訊,請參閱 使用 Analysis Services 指令碼語言進行開發 (ASSL) 。
如果您將 AllowCreate
命令的 Alter
屬性設定為 True,只要物件不存在,即可建立指定的主要物件。 否則,如果指定的主要物件尚未存在,就會發生錯誤。
使用 ObjectExpansion 屬性
如果您只變更主要物件的屬性,而且不會重新定義主要物件所包含的次要物件,您可以將 命令的 Alter
屬性設定 ObjectExpansion
為ObjectProperties。 ObjectDefinition
屬性就只需要包含主要物件之屬性的元素,而且 Alter
命令不會改變與主要物件關聯的次要物件。
若要重新定義主要物件的次要物件,您必須將 ObjectExpansion
屬性設定為 ExpandFull ,而且物件定義必須包含主要物件所包含的所有次要物件。 如果 ObjectDefinition
命令的 Alter
屬性未明確包括主要物件所含的次要物件,則會刪除未包括的次要物件。
改變工作階段物件
若要修改命令所 Create
建立的會話物件,請將 Scope
命令的 Alter
屬性設定為 Session。
注意
使用 會話 設定時,元素 ObjectDefinition
只能包含 Dimension、 Cube或 MiningModel ASSL 元素。
建立或改變從屬物件
雖然 Create
或 Alter
命令只會建立或修改一個最主要的物件,所建立或修改的主要物件,在其他主要物件或是其從屬的次要物件之封閉式 ObjectDefinition
屬性中,仍可包含定義。 例如,如果您定義一個 Cube,在 ParentObject
中指定父資料庫,並且在 ObjectDefinition
的 Cube 定義中,可以為 Cube 定義量值群組,而且在量值群組中,可以為每個量值群組,定義資料分割。 次要物件只能在包含它的主要物件之下定義。 如需主要和次要物件的詳細資訊,請參閱 Database Objects (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
命令的 Alter
屬性已設定為ObjectProperties。 此設定可讓 ImpersonationInfo 元素是次要物件,從 中 ObjectDefinition
定義的資料來源中排除。 因此,資料來源的模擬資訊仍然會設定成服務帳號,如第一個範例中所指定。
另請參閱
Execute 方法 (XMLA)
使用 Analysis Services 指令碼語言 (ASSL) 開發
在 Analysis Services 中使用 XMLA 進行開發