2.2.4.2.2.5 Database

The Database complex type represents a database.

   <xsd:complexType name="Database">
     <xsd:all>
       <!--These elements are common to each MajorObject-->
       <xsd:element name="Name"  type="xsd:string" />
       <xsd:element name="ID"  type="xsd:string" minOccurs="0" />
       <xsd:element name="CreatedTimestamp" type="xsd:dateTime" minOccurs="0" />
       <xsd:element name="LastSchemaUpdate" type="xsd:dateTime" minOccurs="0" />
       <xsd:element name="Description" type="xsd:string" minOccurs="0" />
       <xsd:element name="Annotations"  minOccurs="0" >
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="Annotation" type="Annotation" minOccurs="0"
                          maxOccurs="unbounded" />
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <!--Extended elements for Database object-->
       <xsd:element name="LastUpdate" type="xsd:dateTime" minOccurs="0" />
       <xsd:element name="State" minOccurs="0">
         <xsd:simpleType>
           <xsd:restriction base="xsd:string" >
             <xsd:enumeration value="Processed" />
             <xsd:enumeration value="PartiallyProcessed" />
             <xsd:enumeration value="Unprocessed" />
           </xsd:restriction>
         </xsd:simpleType>
       </xsd:element>
       <xsd:element ref="eng100:ReadWriteMode" minOccurs="0" />
       <xsd:element ref="eng100_100:DbStorageLocation" minOccurs="0"/>
       <xsd:element name="AggregationPrefix" type="xsd:string" minOccurs="0"/>
       <xsd:element name="ProcessingPriority" type="xsd:integer" minOccurs="0"/>
       <xsd:element name="EstimatedSize" type="xsd:long" minOccurs="0"/>
       <xsd:element name="LastProcessed" type="xsd:dateTime" minOccurs="0"/>
       <xsd:element name="Language" type="xsd:integer" minOccurs="0"/>
       <xsd:element name="Collation" type="xsd:string" minOccurs="0"/>
       <xsd:element name="Visible" type="xsd:boolean" minOccurs="0"/>
       <xsd:element name="MasterDataSourceID" type="xsd:string" minOccurs="0"/>
       <xsd:element name="DataSourceImpersonationInfo" type="ImpersonationInfo"
                    minOccurs="0" />
       <xsd:element name="Accounts" minOccurs="0">
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="Account"  type="Account" minOccurs="0"
                          maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <xsd:element name="DataSources" minOccurs="0">
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="DataSource"  type="DataSource" minOccurs="0"
                          maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <xsd:element name="DataSourceViews" minOccurs="0">
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="DataSourceView"  type="DataSourceView"
                          minOccurs="0" maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <xsd:element name="Dimensions" minOccurs="0">
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="Dimension"  type="Dimension"
                          minOccurs="0" maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <xsd:element name="Cubes" minOccurs="0">
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="Cube"  type="Cube" minOccurs="0"
                          maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <xsd:element name="MiningStructures" minOccurs="0">
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="MiningStructure"  type="MiningStructure"
                          minOccurs="0" maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <xsd:element name="Roles" minOccurs="0">
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="Role"  type="Role" minOccurs="0"
                          maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <xsd:element name="Assemblies" minOccurs="0">
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="Assembly"  type="Assembly" minOccurs="0"
                          maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <xsd:element name="DatabasePermissions" minOccurs="0">
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="DatabasePermission"  type="DatabasePermission"
                          minOccurs="0" maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <xsd:element name="Translations" minOccurs="0">
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="Translation"  type="Translation" minOccurs="0"
                          maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       <xsd:element ref="eng200_200:StorageEngineUsed" minOccurs="0" />
       <xsd:element ref="eng200_200:ImagePath" minOccurs="0" />
       <xsd:element ref="eng200_200:ImageUrl" minOccurs="0" />
       <xsd:element ref="eng200_200:ImageUniqueID" minOccurs="0" />
       <xsd:element ref="eng200_200:ImageVersion" minOccurs="0" />
       <xsd:element ref="eng200_200:Token" minOccurs="0" />
       <xsd:element ref="eng200:CompatibilityLevel" minOccurs="0" />
       <xsd:element ref="eng300_300:DirectQueryMode" minOccurs="0" />
       <xsd:element ref="eng921:UseCryptoNextGen" minOccurs="0" />
     </xsd:all>
   </xsd:complexType>

The Database XSD depends upon the following definitions in namespaces other than the default namespace.

In the namespace eng100:

   <xsd:element name="ReadWriteMode" >
     <xsd:simpleType>
       <xsd:restriction base="xsd:string" >
         <xsd:enumeration value="ReadWrite" />
         <xsd:enumeration value="ReadOnly" />
         <xsd:enumeration value="ReadOnlyExclusive" />
       </xsd:restriction>
     </xsd:simpleType>
   </xsd:element>

In the namespace eng100_100:

 <xsd:element name="DbStorageLocation" type="xsd:string" />

In the namespace eng200:

 <xsd:element name="CompatibilityLevel" type="xsd:integer" />

In the namespace eng200_200:

   <xsd:element name="StorageEngineUsed" >
     <xsd:simpleType>
       <xsd:restriction base="xsd:string" >
         <xsd:enumeration value="Traditional" />
         <xsd:enumeration value="InMemory" />
         <xsd:enumeration value="Mixed" />
         <xsd:enumeration value="TabularMetadata" />
       </xsd:restriction>
     </xsd:simpleType>
   </xsd:element>
   <xsd:element name="ImagePath" type="xsd:string" />
   <xsd:element name="ImageUrl" type="xsd:string" />
   <xsd:element name="ImageUniqueID" type="xsd:string" />
   <xsd:element name="ImageVersion" type="xsd:string" />
   <xsd:element name="Token" type="xsd:string" />

In the namespace eng300_300:

   <xsd:element name="DirectQueryMode">
     <xsd:simpleType>
       <xsd:restriction base="xsd:string" >
         <xsd:enumeration value="InMemory" />
         <xsd:enumeration value="DirectQueryWithInMemory" />
         <xsd:enumeration value="InMemoryWithDirectQuery" />
         <xsd:enumeration value="DirectQuery" />
       </xsd:restriction>
     </xsd:simpleType>
  </xsd:element>

In the namespace eng921:

   <xsd:element name="UseCryptoNextGen" type="xsd:boolean" />

The following table describes the elements that are included in the XSD schema for Database.

Element

Read-Only

Default value

Description

Name

[Required]

The object name.

ID

MAY<63> default to Name.

The object ID string.

CreatedTimestamp

Yes

A timestamp that indicates the time that object was created.

LastSchemaUpdate

Yes

A timestamp that indicates the time that the schema was last updated.

LastUpdate

Yes

A timestamp that indicates the last time the database or any of its contained major objects was altered.

Description

Empty

The object description.

State

Yes

The current state of processing within the Database objects. The enumeration values are as follows:

  • Processed – The object has been processed.

  • PartiallyProcessed – The object has been partially processed.

  • Unprocessed – The object has not been processed.

ReadWriteMode

Yes

"ReadWrite"

An enumeration value that indicates the access modes allowed to the database. The enumeration values are as follows:

  • ReadWrite – Read-write access is allowed.

  • ReadOnly – Read-only access is allowed.

  • ReadOnlyExclusive – Read-only exclusive access is allowed.

DbStorageLocation

Empty

A valid UNC path for where the server will store the data for this database.

AggregationPrefix

Empty

The common prefix that can be used for aggregation names for all the partitions in a database.

ProcessingPriority

0

An integer that indicates the priority for processing, when lazy processing is used. Higher integer values will be processed before lower integer values.

EstimatedSize

Yes

The estimated size of the database in bytes.

LastProcessed

Yes

A timestamp that indicates the date and time when the object was last processed. This element is updated only if the process command processes the whole database as one; processing all objects in the database individually does not result in an update.

Language

Empty

The language code identifier (LCID)<64> of the language to use by default.<65>

Collation

Empty

The collation sequence.

Visible

True

When true, indicates that the database is visible to clients; otherwise, false.

MasterDataSourceID

Empty

A string that specifies the MasterDataSourceID of the OLAP data source that points to the master server for remote partitions.

DataSourceImpersonationInfo

Empty

The default user credentials to connect to data source.

Accounts

Empty

A collection of objects of type Account.

DataSources

Empty

A collection of objects of type DataSource.

DataSourceViews

Empty

A collection of objects of type DataSourceView.

Dimensions

Empty

A collection of objects of type Dimension.

Cubes

Empty

A collection of objects of type Cube.

MiningStructures

Empty

A collection of objects of type MiningStructure.

Roles

Empty

A collection of objects of type Role.

Assemblies

Empty

A collection of objects of type Assembly.

DatabasePermissions

Empty

A collection of objects of type DatabasePermission.

Translations

Empty

A collection of objects of type Translation.

Annotations

Empty

A collection of objects of type Annotation.

StorageEngineUsed

"Traditional"

An enumeration value that indicates which of the types of available storage engines to use. The enumeration values are as follows:

  • Traditional – MOLAP storage is used.

  • InMemory – In memory storage is used.

  • Mixed – A mixture of MOLAP and In memory storage is used.

  • TabularMetadata – Tabular Metadata is used with InMemory storage. This mode is available only for Tabular databases that have the compatibility level set to 1200 or greater. For more details about compatibility level, see the CompatibilityLevel element that is described in this table and in [MS-SSAS-T].

ImagePath

Yes

The UNC path of the file from which this database was loaded. The database MUST be loaded or created by using the ImageLoad (section 3.1.4.3.2.1.1.29) command; otherwise the element will be empty.

ImageUrl

Yes

The URL of the file from which this database was loaded. This element will be empty if the database is not loaded from a URL.

ImageUniqueID

Yes

The Unique ID assigned to this database, if it was loaded from a URL location. This element will be empty if the database is not loaded from a URL location.

ImageVersion

Empty

A string that represents a timestamp containing the last time that the file that contains the database was updated. The string format is MM/dd/yyyy HH:mm:ss [AM/PM]. This element will be empty if the database is not loaded from a file.

CompatibilityLevel

Specifies the compatibility level of the database.<66>

DirectQueryMode

DirectQueryMode, in conjunction with the Direct Query connection string property, determines which mode is to be used for a query.

DirectQueryMode has the following values:

  • InMemory - default property

  • DirectQueryWithInMemory

  • InMemoryWithDirectQuery

  • DirectQuery

DirectQueryMode connection string property values are:

  • Default

  • DirectQuery

  • InMemory

  • InMemoryWithDirectQuery

User connecting with DirectQueryMode connection string property set to InMemory or Default will be querying database in cached mode.

User connecting with DirectQueryMode connection string property set to DirectQuery will be querying database in DirectQuery mode.

Note If database is using features that are incompatible with the supported set of features in DirectQuery mode, run-time error will be generated.

DirectQueryWithInMemory

User connecting with DirectQueryMode connection string property set to DirectQuery or Default will be querying database in DirectQuery mode.

User connecting with DirectQueryMode connection string property set to InMemory will be querying database in Cached mode.

InMemory\DirectQuery

User connecting with DirectQueryMode property other than Default or DirectQuery\InMemory (respectively) will be given an error indicating the particular situation.

Token

Specifies the token of a user whose database access needs to be restricted to a single database.

UseCryptoNextGen

Yes

A Boolean that, when true, indicates that the customer secrets are encrypted by using the Advanced Encryption Standard (AES) algorithm from the CryptoNextGen library. For more information about the CryptoNextGen library, see [MSLEARN-CNG].