Tabular model solution deployment

Applies to: SQL Server Analysis Services Azure Analysis Services Power BI Premium

After authoring a tabular model project, you must deploy it to an Azure Analysis Services server resource, SQL Server Analysis Services server instance, or dataset in a Power BI Premium workspace in order for users to browse the model by using a reporting client application. This article describes the various methods you can use when deploying tabular model project.

Deployment methods

There are several methods you can use to deploy a tabular model project. Most of the deployment methods used for Analysis Services multidimensional projects can also be used to deploy tabular model projects.

Method Description Link
Deploy command in Visual Studio The Deploy command provides a simple and intuitive method to deploy a tabular model project from the Visual Studio authoring environment.

Caution: This method should not be used to deploy to production servers. Using this method can overwrite certain properties in an already deployed, existing model; for example, when using scripts or SQL Server Management Studio (SSMS) to modify properties.
Deploy from Visual Studio
Tabular Object Model (TOM) TOM, an extension of the Analysis Management Object (AMO) client library provides a programmatic interface to the complete command set for SQL Server Analysis Services, including commands that can be used for solution deployment. As an approach for solution deployment, TOM automation is the most flexible, but it also requires a programming effort. A key advantage to using TOM is that you can use SQL Server Agent with your application to run deployment on a preset schedule. Tabular Object Model (TOM)
XMLA Use SQL Server Management Studio to generate an XMLA script of the metadata of an existing SQL Server 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.

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 TOM. TOM provides a larger breadth of functionality with more administrative commands.
Deploy model solutions by using XMLA
Deployment Wizard Use the Deployment Wizard to use the XMLA output files generated by an SQL Server Analysis Services project to deploy the project's metadata to a destination server. With the Deployment Wizard, you can deploy directly from the SQL Server Analysis Services file, as created by the output directory by project build.

The primary advantage of using the SQL Server 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.
Deploy model solutions by using the Deployment Wizard
Deployment utility The Deployment utility lets you start the Analysis Services deployment engine from a command prompt. Deploy model solutions with the Deployment Utility
Synchronize Database Wizard For SQL Server Analysis Services, use the Synchronize Database Wizard to synchronize the metadata and data between any two 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.
Synchronize Analysis Services databases
Backup and restore For SQL Server Analysis Services, Backup offers the simplest approach to transferring 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, and rarely used with tabular models, but is a way to quickly complete a deployment with minimal infrastructure requirements.
Backup and restore of Analysis Services Databases