Multidimensional Model Solution Deployment
After you have completed the development of an Analysis Services project, you can deploy the database to an Analysis Services server. Analysis Services provides six possible deployment methods that can be used to move the database to a test or production server. The methods are listed here in order of advantage: AMO Automation, XMLA, Deployment Wizard, Deployment Utility, Synchronize Wizard, Backup and Restore.
This topic includes the following sections:
Analysis Management Objects (AMO) Automation
AMO provides a programmatic interface to the complete command set for Analysis Services, including commands that can be used for solution deployment. As an approach for solution deployment, AMO automation is the most flexible, but it also requires a programming effort. A key advantage to using AMO is that you can use SQL Server Agent with your AMO application to run deployment on a preset schedule.
Use SQL Server Management Studio to generate an XMLA script of the metadata of an existing Analysis Services database, and then run that script on another server to recreate the initial database. XMLA scripts are easily formed in SQL Server Management Studio by defining the deployment process, then codifying it and saving it in an XMLA script. Once you have the XMLA script in a saved file, you can easily run the script according to a schedule, or embed the script in an application that connects directly to an instance of Analysis Services.
You can also run XMLA Scripts on a preset basis using SQL Server Agent, but you do not have the same flexibility with XMLA Scripts as with AMO. AMO provides a larger breadth of functionality by hosting the complete spectrum of administrative commands.
Use the Deployment Wizard to use the XMLA output files generated by an Analysis Services project to deploy the project's metadata to a destination server. With the Deployment Wizard, you can deploy directly from the Analysis Services file, as created by the output directory by project build.
The primary advantage of using the Analysis Services Deployment Wizard is convenience. Just as you can save an XMLA script for use later in SQL Server Management Studio, you can save Deployment Wizard scripts. The Deployment Wizard can be run both interactively and at the command prompt via the Deployment Utility.
The Deployment utility lets you start the Analysis Services deployment engine from a command prompt.
Synchronize Database Wizard
Use the Synchronize Database Wizard to synchronize the metadata and data between any two Analysis Services databases.
The Synchronize Wizard can be used to copy both data and metadata from a source server to a destination server. If the destination server does not have a copy of the database that you want to deploy, a new database is copied to the destination server. If the destination server already has a copy of the same database, the database on the destination server is updated to use the metadata and data of the source database.
Backup and Restore
Backup offers the simplest approach to transferring Analysis Services databases. From the Backup dialog box, you can set the options configuration, and then you can run the backup from the dialog box itself. Or, you can create a script that can be saved and run as frequently as required.
Backup and restore is not used as frequently as the other deployment methods, but is a way to quickly complete a deployment with minimal infrastructure requirements.
Before you deploy an Analysis Services project, consider which of these questions apply to your solution and then review the related link to learn ways of addressing the issue:
Link to more information
What hardware and software resources are required for this solution?
How will you deploy related objects that are outside the scope of the Analysis Services project, such as Integration Services packages, reports, or relational database schemas?
How will you load and update the data in the deployed Analysis Services database?
How will you update the metadata (such as calculations) in the deployed Analysis Services database?
Deployment Methods in this topic.
Do you want to give users access to Analysis Services data through the Internet?
Do you want to provide continuous query access to Analysis Services data?
Do you want to deploy objects in a distributed environment by using linked objects or remote partitions?
How will you secure the Analysis Services data?