StorageMode (Dimension Interface)
Note
This feature will be removed in the next version of Microsoft SQL Server. Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible.
The StorageMode property of the Dimension interface determines how the contents of a dimension are stored.
Applies To:clsAggregationDimension, clsCubeDimension, clsDatabaseDimension, clsPartitionDimension
Data Type
Access
Access depends on the value of the ClassType property of the object.
Class type | Access |
---|---|
clsDatabaseDimension |
R/W* |
clsCubeDimension |
R |
clsPartitionDimension |
R |
clsAggregationDimension |
R |
* Read-only for virtual dimensions and objects with a SubClassType of sbclsLinked, sbclsMining, or sbclsParentChild.
Remarks
If the StorageMode property is set to storeasMOLAP, the contents of the dimension are processed and stored on the Analysis server. If StorageMode is set to storeasROLAP, the dimension contents are not read during processing; they are left in the source relational database and retrieved as required. ROLAP storage mode provides for improved scalability of dimensions at the expense of slower query performance.
The StorageMode property uses one of the constants, defined in the StorageModeValues enumeration, shown in the following table.
Storage mode | Result |
---|---|
storeasMOLAP |
Dimension members are read during processing and are stored in the Analysis server. |
storeasROLAP |
Dimension members are not read during processing and are left in the relational data source. |
Before the StorageMode property for a dimension can be set to storeasROLAP, the AreMemberKeysUnique property must be set to True for the last level in the dimension.
When the StorageMode property is set to storeasROLAP, the value of the IsChanging property for the dimension automatically becomes read-only and True.
Warning
Any changes to the relational source table of a ROLAP dimension must be followed by an immediate reprocessing of the dimension. Failure to do so may result in inconsistent results to queries of the cubes that use the dimension. To ensure correct processing of both the source table and the dimension, use nested transactions to link the two changes together. Because an incremental update is all that is necessary, use the processRefreshData option with the Process method to update the dimension.
To set the StorageMode property to storeasROLAP, the Grouping property for all levels in the dimension must be set to None. Member groups are not supported for ROLAP dimensions.