Subscribe to SQL Server Magazine | See More Migration Articles Here | Reprints | Or get the Monthly Online Pass—only $5.95 a month!
SideBar    Upgrade Your Analysis Services Terminology, Scripting a Cube in XMLA

SQL Server 2005 Analysis Services (SSAS) provides many compelling reasons for upgrading from SSAS 2000. Among the many enhancements, SSAS 2005 provides more flexible analysis than SSAS 2000 by exposing most dimension attributes as analytical objects. But executing on the decision to upgrade comes with some challenges. Should you use SQL Server 2005's built-in tools to migrate your SSAS 2000 cubes? Or, with all the architectural changes in SSAS 2005, should you rebuild the cubes from scratch? Both methods have pros and cons, and your decision will likely depend on your environment. Let's take a look at some key decision points that will help you make your choice.

Note that this article assumes familiarity with basic concepts in SSAS 2005. SQL Server 2005 Books Online (BOL) provides excellent information and tutorials that cover these concepts. The sidebar "Upgrade Your Analysis Services Terminology" also gives a high-level guide to the SSAS 2000 terms that have changed in SSAS 2005. Also, to explore the pros and cons of the migration-versus-rebuild decision, we'll refer to the FoodMart 2000 sample database. Although FoodMart presents a simplistic cube implementation, many of the fundamental features of SSAS 2000 are represented in one or more of the cubes in this database. FoodMart also provides a universally understood data model, so the examples we use will be easy to follow.

Migration
You can migrate an SSAS 2000 database to SSAS 2005 in a few different ways, but all options use the Analysis Services Migration Wizard. For information about the various migration options, check out Darshan Singh's November 2005 article "Step Up to SQL Server 2005" (InstantDoc ID 47749). Darshan notes that before you start your upgrade, it's a best practice to run the Upgrade Advisor to determine possible migration problems specific to your database. Also, you can read about overall migration considerations in BOL (http://msdn2.microsoft.com/en-us/library/ms143235.aspx). Known Analysis Services upgrade issues include the fact that drillthrough options, linked objects, and remote partitions won't be migrated.

Note that the Migration Wizard will make no effort to redesign your cubes to leverage the features of SSAS 2005. The wizard's mission is to simply recreate the cube in SSAS 2005 as it was in SSAS 2000. This simplistic approach is by design; Microsoft intended to minimize potential problems with front-end applications. Knowing about this design will help you more easily understand the choices that the wizard makes.

You can migrate the FoodMart 2000 sample cube by opening an SSAS 2005 instance in SQL Server Management Studio (SSMS) and walking through the Migration Wizard (right-click the instance name and select Migrate Database). The wizard will ask for predictable information regarding the source SSAS 2000 server and the databases you want to migrate. After running the Migration Wizard, you can open Business Intelligence Development Studio (BIDS) and view the resulting SSAS cubes and shared dimensions, which Figure 1 shows.

There's some room for interpretation about how FoodMart should be implemented on SSAS 2005, but most people agree that the migrated database in Figure 1 isn't the best design. The following documents some of the high-level observations:

  • Because of SSAS 2005's ability to create more comprehensive cubes than SSAS 2000, the four regular cubes should be collapsed into one. It can be argued that the HR cube could stand on its own.
  • Virtual cubes in SSAS 2000 were migrated as cubes because no equivalent for a virtual cube exists in SSAS 2005. We shouldn't need virtual cubes when the SSAS 2000 cubes are consolidated into a single SSAS 2005 cube.
  • Several of the dimensions we got are variations on what should be a single dimension in SSAS 2005. For example, Gender, Education Level, Marital Status, and Yearly Income should become attribute hierarchies in a single Customer dimension. Note that these attributes actually appear in the Customer dimension because they were defined as member properties in SSAS 2000.

Another issue is the ability to easily add new attribute dimensions (which are a cornerstone of SSAS 2005) to any of the core dimensions. The data source view (DSV) that the Migration Wizard creates includes only columns that support the migrated objects. The Customer table in the source FoodMart 2000 relational database contains several columns that might make for rich analysis options, such as city, state, customer region, total children, houseowner, number of cars owned, and more. You can update the DSV to include all columns from the source tables by right-clicking the background in the DSV designer and selecting Refresh. But do this at your own risk; some properties of pre-existing attributes might change. You might find it easier to simply replace specific dimension tables in the DSV (right-click the table, select Replace Table, With Other Table, then select the same table). Once you've updated the DSV with all available columns, you'll need to edit each dimension to add desired attribute hierarchies from the newly available columns.

Despite the negatives, a lot of good stuff happened during this migration. All of the MDX calculations that we defined in calculated members migrated successfully (look under the Calculations tab for the Sales cube in BIDS). Our parent/child dimensions (Account and Employees) migrated successfully. And the partitions and aggregation designs, actions, unary operators, and member properties were retained and are operational. Finally, note that the Migration Wizard will migrate only metadata. Migrated cubes must be fully processed to populate the cubes with data.

Starting from Scratch
Building a cube from scratch isn't as extreme as it first sounds. The main thing you need is a well-designed star or snowflake schema. You start in BIDS by adding a new data source, then a new DSV. Create the new DSV in the BIDS Solution Explorer by right-clicking Data Source Views and selecting New Data Source View. The wizard will guide you through selecting the data source and adding the tables required for all cubes (which will be measure groups in SSAS 2005).

   Prev. page   [1] 2     next page
 
 

ADS BY GOOGLE