Work with Analysis Services Projects and Databases in Development

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

You can develop an SQL Server Analysis Services database by using SQL Server Data Tools in either project mode or online mode.

Single Developer

When only a single developer is developing the entire SQL Server Analysis Services database and all of its constituent objects, the developer can use SQL Server Data Tools in either project mode or online mode at any time during the lifecycle of the business intelligence solution. In the case of a single developer, the choice of modes is not particularly critical. The maintenance of an offline project file integrated with a source control system has many benefits, such as archiving and rollback. However, with a single developer you will not have the problem of communicating changes with another developer.

Multiple Developers

When multiple developers are working on a business intelligence solution, problems will arise if the developers do not work in project mode with source control under most, if not all circumstances. Source control ensures that two developers are not making changes to the same object at the same time.

For example, suppose a developer is working in project mode and making changes to selected objects. While the developer is making these changes, suppose that another developer makes a change to the deployed database in online mode. A problem will arise when the first developer attempts to deploy his or her modified SQL Server Analysis Services project. Namely, SQL Server Data Tools will detect that objects have changed within the deployed database and prompt the developer to overwrite the entire database, overwriting the changes of the second developer. Since SQL Server Data Tools has no means of resolving the changes between the SQL Server Analysis Services database instance and the objects in the project about to be overwritten, the only real choice the first developer has is to discard all of his or her changes and starting anew from a new project based on the current version of the SQL Server Analysis Services database.