SSAS: BIDS Deployment vs. Deployment Wizard

Wednesday, September 21, 2011
by jsalvo

Several options are available to deploy SSAS objects, two common options are deploying directly from BIDS and using the Deployment Wizard.  Both options are useful in different deployment scenarios. 

BIDS Deployment

Deploying directly from BIDS is useful when you are deploying changes during development to a development or test server.  BIDS deployment overwrites database management settings such as partition design and security; therefore, it is often not advisable to use this option when deploying to a production server.  Using the ‘Deployment Wizard’ is generally a better option when deploying to production.

BIDS provides two options to work with SSAS databases: Connected Mode and Project Mode.  Connected Mode allows you to connect directly to the online cube (database).  Therefore, any time you save changes they are applied immediately to the SSAS database.  Since the changes are applied immediately, no additional deployment steps are required. To connect directly to an online cube, expand the ‘File’ menu and click ‘Open’.  Then click ‘Analysis Services Database’ and enter the server and database name. 

Project Mode is the preferred option to modify a cube and is the BIDS default.  Project Mode facilitates team development since it is possible to add the project files to source control.  To apply changes made while working in Project Mode, you must deploy your project to the appropriate server. 

To modify the deployment settings for a project, right click on the project node in BIDS and click ‘Properties’.  The following window is displayed.  Click ‘Deployment’ under ‘Configuration Properties’ to view the deployment settings.

image

Note: I set the ‘Processing Option’ to ‘Do Not Process’ because I have a SQL Server Agent job that runs an XMLA script to process the SSAS database.  I run this job after the deployment is complete in BIDS.

Click ‘OK’ to save any changes.

To deploy the project, right click on the Project node in BIDS and click ‘Deploy’.  The following actions will take place:

The project is built and the following file types are generated in the bin folder of your project directory: .asdatabase, .configsettings, .deploymentoptions, .deploymenttargets.

  • asdatabase: deployment script file, contains definition of all objects in the project.
  • configsettings: contains project settings.
  • deploymentoptions: contains the project deployment settings.
  • deploymenttargets: contains name of target server and database.

The SSAS database associated with the project is overwritten (since Deployment Mode is set to Deploy All).  Since the ‘Process’ option was set to ‘Do Not Process’, the SSAS database is currently empty.  The database will be loaded with data when it is processed.

Deployment Wizard

The deployment wizard provides more fine-grained control of the deployment process.  To access the wizard, browse to Programs > Microsoft SQL Server > Analysis Services > Deployment Wizard.  After launching the Deployment Wizard, the following window is displayed:

image

Click ‘Next’.  You will then be prompted to enter a Database file.  You must specify the location of the .asdatabase deployment script file that was created upon building the SSAS project in BIDS. 

On the ‘Installation Target’ page (second page), enter the server and database you wish to deploy to.

The third page allows you to specify how partition and role settings should be handled during deployment.  You have the option to overwrite or retain the partition and role/member settings that exist on the target server and database.

image

On the fourth page, you have the ability to modify configuration settings.

image

The fifth page is where you select your deployment option, either ‘Default Processing’, ‘Full Processing’ or ‘None’.

On the final page, you will be prompted to confirm your deployment and you may either click ‘Next’ to start the deployment or check the box to create a deployment script for future execution.

image

Both BIDS deployment and the Deployment Wizard have their valid uses.  BIDS deployment is convenient when developing and deploying to a test/development server; but, the Deployment Wizard may be the better choice when you are deploying to a production server and need more ‘fine-grained’ control.

Comments

comments powered by Disqus