Developing with XMLA in Analysis Services
Applies To: SQL Server 2016 Preview
XML for Analysis (XMLA) is a SOAP-based XML protocol, designed specifically for universal data access to any standard multidimensional data source that can be accessed over an HTTP connection. Analysis Services uses XMLA as its only protocol when communicating with client applications. Fundamentally, all client libraries supported by Analysis Services formulate requests and responses in XMLA.
As a developer, you can use XMLA to integrate a client application with Analysis Services, without any dependencies on the .NET Framework or COM interfaces. Application requirements that include hosting on a wide range of platforms can be satisfied by using XMLA and an HTTP connection to Analysis Services.
Analysis Services is fully compliant with the 1.1 specification of XMLA, but also extends it to enable data definition, data manipulation, and data control support. Analysis Services extensions are referred to as the Analysis Services Scripting Language (ASSL). Using XMLA and ASSL together enables a broader set of functionality than what XMLA alone provides. For more information about ASSL, see Developing with Analysis Services Scripting Language (ASSL).
Describes how to connect to an Analysis Services instance, and how to manage sessions and statefulness in XMLA.
Describes how Analysis Services returns error and warning information for methods and commands in XMLA.
Describes object identifiers and object references, and how to use identifiers and references within XMLA commands.
Describes how to use the Cancelcommand to cancel commands, sessions, and connections in XMLA.
Describes how to use the Process command to process an Analysis Services object.
Describes how to use the MergePartitions command to merge partitions on an Analysis Services instance.
Describes how to use the DesignAggregations command, either in iterative or batch mode, to design aggregations for an aggregation design in Analysis Services.
Also describes how to use the Synchronize command to synchronize an Analysis Services database with an existing database on the same instance or on a different instance.
Describes how to use the UpdateCells command to change the values of cells in a write-enabled partition.
Details how to use the ClearCache command to clear the caches of Analysis Services objects.
Describes how to use the Subscribe command to subscribe to and monitor an existing trace on an Analysis Services instance.
XML for Analysis fully supports data mining schema rowsets. These rowsets provide information for querying data mining models using the Discover method. For more information about data mining schema rowsets, see Data Mining Schema Rowsets
For more information about DMX, see Data Mining Extensions (DMX) Reference.
The schema defined in this specification uses the XML namespace http://schemas.microsoft.com/AnalysisServices/2003/Engine and the standard abbreviation “DDL.”
The definition of an XML Schema definition language (XSD) schema for the Analysis Services object definition language is based on the definition of the schema elements and hierarchy in this section.
Extensibility of the object definition language schema is provided by means of an Annotation element that is included on all objects. This element can contain any valid XML from any XML namespace (other than the target namespace that defines the DDL), subject to the following rules:
The XML can contain only elements.
Each element must have a unique name. It is recommended that the value of Name reference the target namespace.
These rules are imposed so that the contents of the Annotation tag can be exposed as a set of Name/Value pairs through Decision Support Objects (DSO) 9.0.
Comments and white space within the Annotation tag that are not enclosed with a child element may not be preserved. In addition, all elements must be read-write; read-only elements are ignored.
The object definition language schema is closed, in that the server does not allow substitution of derived types for elements defined in the schema. Therefore, the server accepts only the set of elements defined here, and no other elements or attributes. Unknown elements cause the Analysis Services engine to raise an error.