IsTemporary (MDStore Interface)

SQL Server 2008 R2


  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 IsTemporary property of the MDStore interface indicates whether an object is temporary. Temporary objects are local to the session in which they are created, cannot be saved, and are not available to other users. To create a temporary object, preface the name with the tilde (~) character.

Applies To: clsAggregation, clsCube, clsPartition



A temporary object is not stored in the repository and is not available to other users. Temporary objects persist only during the session in which they are created unless renamed or cloned to another existing object having the same class type. Objects subordinate to a temporary object, such as levels for a dimension, internally inherit the parent object's IsTemporary setting.


  Only temporary objects can be renamed by changing the Name property. Removing the tilde (~) character from the name of a temporary object means that it is no longer temporary and prevents subsequent renaming of the object. Also, executing the Update method of a temporary object has no effect; the object is not saved to the repository unless the tilde prefix is removed by changing the Name property.

Creating a Temporary Object

Use the following code to create a temporary dimension object that is renamed and saved to the repository:

'Assume an object (dsoCube) of ClassType clsCube exists.
Dim tmpDim As DSO.Dimension
Set tmpDim = dsoCube.Dimensions.AddNew("~MyDim") 'Temporary
'Add levels, member properties, process, etc.
'This is something we want to keep - so drop "~".
tmpDim.Name = "MyDim" 'No longer temporary

Community Additions