3.1.4.3.2.1.1.1 ObjectReference Type

Many of the commands require an element that is of type ObjectReference. An ObjectReference consists of a hierarchical list of references that, when concatenated, reference an object by its full path in the server object hierarchy.

Only a MajorObject (section 2.2.4.2.2.1) can be referenced by an ObjectReference.

   <xsd:complexType name="ObjectReference">
     <xsd:all>
       <xsd:element name="ServerID" type="xsd:string" minOccurs="0"/>
       <xsd:element name="DatabaseID" type="xsd:string" minOccurs="0"/>
       <xsd:element name="RoleID" type="xsd:string" minOccurs="0"/>
       <xsd:element name="TraceID" type="xsd:string" minOccurs="0"/>
       <xsd:element name="AssemblyID" type="xsd:string" minOccurs="0"/>
       <xsd:element name="DimensionID" type="xsd:string" minOccurs="0"/>
       <xsd:element name="DimensionPermissionID" type="xsd:string"
                    minOccurs="0"/>
       <xsd:element name="DataSourceID" type="xsd:string" minOccurs="0"/>
       <xsd:element name="DataSourcePermissionID" type="xsd:string"
                    minOccurs="0"/>
       <xsd:element name="DatabasePermissionID" type="xsd:string"
                    minOccurs="0"/>
       <xsd:element name="DataSourceViewID" type="xsd:string" minOccurs="0"/>
       <xsd:element name="CubeID" type="xsd:string" minOccurs="0"/>
       <xsd:element name="MiningStructureID" type="xsd:string" minOccurs="0"/>
       <xsd:element name="MeasureGroupID" type="xsd:string" minOccurs="0"/>
       <xsd:element name="PerspectiveID" type="xsd:string" minOccurs="0"/>
       <xsd:element name="CubePermissionID" type="xsd:string" minOccurs="0"/>
       <xsd:element name="MdxScriptID" type="xsd:string" minOccurs="0"/>
       <xsd:element name="PartitionID" type="xsd:string" minOccurs="0"/>
       <xsd:element name="AggregationDesignID" type="xsd:string" minOccurs="0"/>
       <xsd:element name="MiningModelID" type="xsd:string" minOccurs="0"/>
       <xsd:element name="MiningModelPermissionID" type="xsd:string"
                    minOccurs="0"/>
       <xsd:element name="MiningStructurePermissionID" type="xsd:string"
                    minOccurs="0"/>
     </xsd:all>
   </xsd:complexType>

The following table lists the elements that are needed to reference each of the major objects.

ServerID is always optional when referencing a major object, because the current server is used.

Major object to be referenced

Element to be used

Server

ServerID

Assembly (Server Assembly)

ServerID, AssemblyID

Assembly (Database Assembly)

ServerID, DatabaseID, AssemblyID

Trace

ServerID, TraceID

Database

ServerID, DatabaseID

DatabasePermission

ServerID, DatabaseID, DatabasePermissionID

Role (on Server)

ServerID, RoleID

Role (on Database)

ServerID, RoleID, DatabaseID

DataSource

ServerID, RoleID, DatabaseID, DataSourceID

DataSourcePermission

ServerID, RoleID, DatabaseID, DataSourceID, DataSourcePermissionID

DataSourceView

ServerID, RoleID, DatabaseID, DataSourceViewID

Dimension

ServerID, RoleID, DatabaseID, DimensionID

DimensionPermission

ServerID, RoleID, DatabaseID, DimensionID, DimensionPermissionID

MiningStructure

ServerID, RoleID, DatabaseID, MiningStructureID

MiningStructurePermission

ServerID, RoleID, DatabaseID, MiningStructureID, MiningStructurePermissionID

MiningModel

ServerID, RoleID, DatabaseID, MiningStructureID, MiningModelID

MiningModelPermission

ServerID, RoleID, DatabaseID, MiningStructureID, MiningModelID, MiningModelPermissionID

Cube

ServerID, RoleID, DatabaseID, CubeID

CubePermission

ServerID, RoleID, DatabaseID, CubeID, CubePermissionID

MeasureGroup

ServerID, RoleID, DatabaseID, CubeID, MeasureGroupID

AggregationDesign

ServerID, RoleID, DatabaseID, CubeID, MeasureGroupID, AggregationDesignID

Partition

ServerID, RoleID, DatabaseID, CubeID, MeasureGroupID, PartitionID

Perspective

ServerID, RoleID, DatabaseID, CubeID, PerspectiveID

MdxScript

ServerID, RoleID, DatabaseID, CubeID, MdxScriptID