-
Data, data and data everywhere: a typical scenario for an Enterprise DBA to handle the mission critical applications and comprehensive information across the organization using SQL Server technologies.
Since the inception of SQL Server 2005 version Business INtelligence has taken new heights for Data Warehousing and Data Mining perspective to manage the show as if it's all
right here--from data mining, warehousing, and scripting techniques to
MDX queries, KPI analysis, and the all-new Unified Dimensional Model. Initial information is available in the SQL Server books online (2005 & 2008) and to know more on the perception that data mining is complex.
More help is provided online (virtual labs, webcast) from Microsoft that are useful for IT Professionals how data mining can be used in IT to
support real business scenarios. Easy to understand sessions are good for the users to understand more on the point of data managing with practical information, what they can do with new BI techniques and for such information refer to this Data Mining and Business Intelligence for Enterprises Technet link and Business INtelligence Data Mining Technet virtual lab.
-
As it seems the error text on the subject looks familiar when you have installed SQL Server or working with SQL Server databases. How about getting the error on Analysis Services databases (OLAP) within your BI Platform. So in the case of handling the Business Intelligence platform you must be aware of necessary data providers that are required in order to connect the end user application to backed database platform. If not various various exceptions can appear, including:
- "The specified module could not be found."
- "The handle is invalid."
- "The parameter is incorrect."
- "Errors in the metadata manager."
- "A connection cannot be made. Ensure that the server is running."
- "An unexpected internal error has occurred."
I was able to produce the text of these errors based on the occurrences within my platform, it is obvious that the text may be different if there is an issue of security and not with the data providers you use, in such cases the exceptions includes::
- "Unspecified error."
- "Either the user, Domain\User, does not have access to the Database Name database, or the database does not exist."
- "An existing connection was forcibly closed by the remote host."
So how it is possible to find or obtain the 'right' data provider or avoid such type of common errors, I feel it is worth covering from SQL Server 2000 version onwards where the Analysis Services has obtained much of importance for managing data warehouse based applications. There are various ways to resolve them provided you have identified the required information.
Within SQL Server 2000 version OLE DB drivers usage has been obvious to connect to other data sources such as excel, oracle etc. in order to install the SQL Server Pivot table series look at this this link. But there is a difference when it comes to SQL Server 2005 Analysis Services, usage of ADOMD.NET (.net based services) has been introduced with Visual Studio versions and to download such drivers refer to this link, or for older versions of Visual Studio download ADOMD.NET 8.0 along with the hotfix here. Its worth referring the use the OLE DB (COM) Provider for Analysis Services 2005 with an additional pre-requisite of Core XML Services installation.
When you have the database and provider to connect the end-user API you need a connection string that will identify the language compatibility between these layers. IN such cases for both ADOMD and ADOMD.NET, the connection string parameters are listed here in the MSDN Library. If in case your Analysis Services database is on seperate machine and the application generates calls from the web server, so the usage of Windows domain account is common when running OLAP Services. This account can then be granted access in Analysis Services. In ASP.NET, you can use impersonation to change the identity of the ASP.NET process, or in IIS6 or above change the identity of the application pool used for the web site. To secure such connections you can adopt the HTTP access to Analysis Services. This is more complicated than using Windows domains but lets you extend access outside of your local intranet. To end up the subject of connectivity issues I suggest the 2 articles on Microsoft about Configuring HTTP Access to SQL Server 2005 Analysis Services on Microsoft Windows XP & Configuring HTTP Access to SQL Server 2005 Analysis Services on Microsoft Windows Server 2003 type of configuration.
-
Granting permissions to relevant account is a required criteria within the SQL Server databases management, for this even Reporting Services is not exceptional. As per the configuration by default the users connect to the report server by using their own Windows domain credentials and integrated security. TO change this criteria you can also configure a report server to use forms authentication if you create and deploy a custom authentication extension, or basic authentication if the report server is deployed in a Workgroup.
Once this authentication process is completed the report server checks for permissions that authorize access to report server content and operations. The permissions are defined in role assignments that describe which tasks a user can perform. Each user who connects to a report server must have role assignments defined on the account that he or she uses to connect to the report server. To clarify further Books ONline clearly states that:
Because the report server is implemented as a Web service and Microsoft Windows service, each service must be able to connect to the database. When configuring the connection to the report server database, you can choose from the following approaches:
- Use the service accounts. Each service runs under its own service account. You can use the service accounts to connect to the database.
- Use a domain account. Both services connect by using the single domain user account that you specify.
- Use a SQL server login. Both services connect by using the single database user account that you specify.
So in order to execute a report that account must have the verification of the RSExecRole which is a database role in the report server database and temporary database. RSExecRole must have select, create, update, delete, and reference permissions on the report server database tables, and execute permissions on the stored procedures.
Few times you may get the following error when you are trying to select the option execution from a report:
 |
EXECUTE permission denied on object 'xp_sqlagent_notify', database 'mssqlsystemresource', schema 'sys'. |
Its a general assumption that if the user has full privileges on the user database and reportserver & reportservertempdb the process is completed, in order to proceed further you should need to grant permissions to SQL Agent stored procedures that are used by Reporting services when you schedule as a job. You can use following TSQL to accomplish the task:
USE
master
GO
GRANT EXECUTE ON
master.dbo.xp_sqlagent_notify TO RSExecRole
GO
GRANT EXECUTE ON
master.dbo.xp_sqlagent_enum_jobs TO RSExecRole
GO
GRANT EXECUTE ON
master.dbo.xp_sqlagent_is_starting TO RSExecRole
GO
USE
msdb
GO
-- Permissions for SQL Agent SP's
GRANT EXECUTE ON
msdb.dbo.sp_help_category TO RSExecRole
GO
GRANT EXECUTE ON
msdb.dbo.sp_add_category TO RSExecRole
GO
GRANT EXECUTE ON
msdb.dbo.sp_add_job TO RSExecRole
GO
GRANT EXECUTE ON
msdb.dbo.sp_add_jobserver TO RSExecRole
GO
GRANT EXECUTE ON
msdb.dbo.sp_add_jobstep TO RSExecRole
GO
GRANT EXECUTE ON
msdb.dbo.sp_add_jobschedule TO RSExecRole
GO
GRANT EXECUTE ON
msdb.dbo.sp_help_job TO RSExecRole
GO
GRANT EXECUTE ON
msdb.dbo.sp_delete_job TO RSExecRole
GO
GRANT EXECUTE ON
msdb.dbo.sp_help_jobschedule TO RSExecRole
GO
GRANT EXECUTE ON
msdb.dbo.sp_verify_job_identifiers TO RSExecRole
GO
GRANT SELECT ON
msdb.dbo.sysjobs TO RSExecRole
GO
GRANT SELECT ON
msdb.dbo.syscategories TO RSExecRole
GO
Also ensure to check whether the RsExecRole is created and consists relevant permission stated above within ReportServer, ReportServerTempDB Databases.
-
During a conference few users asked about resources and information to go through the Reporting Services, as it is a general assumption from the end-user community that referring to Books Online aka BOL doesn't get them anywhere. I always recommend to read through BOL if you need a basic information you can further see this BOL-WhatItIsFor? article I wrote on how best you can get information on BOL.
So back to the resources on Reporting Services you can go through the following articles that are lined up on Technet site:
InfoCenters are navigation topics in the SQL Server 2005 Books Online that link to the information that is most important for people working with Reporting Services in different roles.
Getting Started:
Deployment within Business Intelligence platform:
Development practices:
-
Making best use of SQL Server Integration Services within your ETL processes is a flexible choice, which has a huge share within the Business Intelligence application platform. You may be aware that SSIS introduces several new and enhanced features and tools to help you manage packages for ETL processes more effectively. To be specific about IS Service which is another set of Windows Services that needs to secured properly with account privileges that will be used to manage package storage and displays a hierarchical view of saved packages in SQL Server Management Studio, also this service packages are stored in the msdb database in an instance of SQL Server or in the file system.
For a brief note on how you can manage the packages is to use BI Development Studio (BIDS) such includes graphical tools and wizards for building and debugging packages; tasks for performing workflow functions such as SQL command execution, FTP operations, and e-mail messaging; data sources and destinations for extracting and loading data; transformations for cleaning, aggregating, merging, and copying data; a management service for administering Integration Services; and application programming interfaces (APIs) for programming the Integration Services object model. More on the tools side of it you can refer to SQLStorageEngine-Tools blog section here.
Coming to the best practice of designing the ETL processes is to discuss that say that whole data exists on a database, even wtih ETL tables and stored procedures including the dimension tables, fact tables and reporting views for report purpose. This kind of setup is quite common I can say and you must adopt a better backup strategy in order to ensure the data is not compromised if any issue occurs, otherwise it will be another big procedure to get back what you need. As refers in the best practices for ETL purpose it is always better to work with STAGING tables in the database or additonal database, where the code and tables will be used for the purpose of performance and reduce the load on the live database that is used by other processes. Then comes the hardware setup on the SQL Server where grouping the correct set of disks with SAN luns etc. and this is more important on the terms of performance as any process initiated by SQL Server or BI ETL it will have knock on affect if the hardware resource such as memory or disk is not optimized enough to resource, overall everywhere it is a matter of fact that performance is a HUGE problem on such type of application.
Also having the DATAMART type of application, where you need to provide resource for exception handling that can bring down the server resources. In this case a single solution often are confined to few servers and a single application, integration solutions span servers, networks, and applications. As a result, integration exceptions can propogate at any juncture in an integration solution. This is where you can take help of BizTalk and integration with Sharepoint to resolve such exceptions. References on Biztalk are MSDN-article on biztalk adapter & TechSavvyGal blogs will be helpful for you.
Also the ETL processes with DataMart type of application is purely dependant on the number of tools involved such as BizTalk, Reporting Services for your reporting purpose and SSIS for major ETL programmability. If you can manage the execution of ETL with these tools from Microsoft or third party it will be an easy path to manage the process, also choosing the better hardware in spreading the load of SQL processes sequentially will optimize the ETL performance.
-
Another tool within BI platform to use when you have the huge farm of Analysis Services data warehousing & mining database setup at your end.
So the provision of BI within SQL Server 2005 is a complete enterprise-ready and scalable data warehouse platform you can set, with the features and functionality you need to put critical, timely information in the hands of employees across your organization. Integrate multiple data sources quickly with SQL Server 2005 Integration Services. Enrich data and build complex business analytics with SQL Server 2005 Analysis Services. So when you have such a setup the Reporting Management is also an important to deliver the rich reports with your SQL Server database using Reporting Services and other tool such as Performance Point Server.
To go into the details this Office PerformancePoint Server 2007 is an integrated performance management application designed to help improve operational and financial performance across all departments and all levels of your organization. So what you can do more within this tool, monitor progress, analyze what is driving variances, and plan your business from budgeting to creating management reports. This will also give you the metrics, key performance indicators (KPIs), and reports delivered to every desktop through intuitive scorecards, dashboards, and the easy-to-use 2007 Microsoft Office system environment. Recently I have been asked to evaluate this product and I have no doubt in stating this is 'a' key component of the BI offering that will get a better understanding on how performance can align with personal and departmental goals and objectives.
So now the question is the resources such as learning & product features, you can get more information from below links:
http://download.microsoft.com/download/e/f/e/efe23d78-7987-4895-b4b9-c8f421fcb77c/PerformancePoint%20Server%20Datasheet-%20Management%20Reporting_10_07.docx - data sheet for management reporting
http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&EventID=1032353652&CountryCode=US - Webcast
http://download.microsoft.com/download/4/5/2/452d8197-1940-4442-8134-b6b82f57cfe8/PerformancePoint%20Server%20datasheet-Overview_10_07.docx - Datasheet
http://www.microsoft.com/business/performancepoint/resources/training.aspx - online training with a fastest way to learn the basics of PerformancePoint Server 2007 is through these self-directed learning courses, which have been designed to give 5 a quick start on building your performance management solution.
-
As blogged here before Virtual Labs are very handy for the new users and existing professionals to test out new features without disturbing their own platform. In this scenario Microsoft events are helping the users by providing access to their virtual platform for BI & Relational Databases that are built in latest operating system with new SQL Server version (2005 onwards).
During last year Tech-ed coference I have seen much rush towards BI - Data Mining stalls where users were very much interested to try out them, may the ones who missed to get hands on can try now by going to ThisWebcast that will give you much of route.
As it says:
After completing this lab, you will be more familiar with preparing Excel data for building mining models. You will walk-through the process of applying a mining model to a new data set and then view the results in Excel. This will be done by acting as a representative from a sporting goods company that wants to take advantage of historical data on existing customers to create a marketing campaign to find out which prospects are most likely to purchase a bike.
-
So far the SQL Server 2008 Analysis Services new features were included until October CTP, top features that Microsoft would like to include within RTM version:
- New Aggregation designer - to browse and modify aggregation designs that are now shown grouped by measure group.
- Simplified and enhanced Aggregation Design and Usage-Based Optimization Wizards, this will help to modify the storage settings for the aggregrations and append new aggregations to an existing aggregation.
- Backup and Restore functionality with new storage structures, this will to enhance the performance during the backup/restore processes.
- Robust repository for archived databases with no limit on the size of database file or number of files it can have.
- Improvied Performance as it referred on the CTP BOL it only refers to the backup & restore functionality, for the actual figures unless you test this feature it is hard to say lot of improvement from previous versions.
- IIS requirement for Reporting Services is not required which will lessen the burden of pre-requisite within the BI platform.
- Change Data Capture as in Relational engine that will help warehousing scenarios and reduce your load time by a factor of 9x.
- Reporting Services scalability, that will load upto million row reports (that is dependant on hardware resources too), with a flavour of table and tablix.
- Integration Services thread schedule performance, for the data flow processes this is an important factore and also during synchronous transforms.
- Like third party tools Authoring Reports using Excel/Word style, may be a pinch to current market tools.
Many more to come, but for sure you can download the latest CTP which is February CTP is availabel to test these new features.
-
Performance - one word does it all!
You are aware that during the Performance Tuning exercise there are few quick wins within the SQL Server Relational Database Engine such as table statistics for data and indexes. When it comes to Analysis Services (BI) database then no difference as one of the greatest enhancements in Analysis Services 2005 is the ability to use SQL Server Profiler to troubleshoot performance issues during querying and processing.
Not only this facility you can easily import the SYSMON (PERFMON) data to addup to Profiler in order to analyze the counters that are important in every step of querying and processing. Within the SQL Server Management Studio (SSMS) or Microsoft Management Control (MMC) a snap-in is attached that tracks resource usage. You can start this snap-in by typing in PerfMon at the command prompt. It is also available from Control Panel by clicking Administrative Tools, then Performance. To get more understanding on what counter will be helpful for Analysis Services you can open the Add Counters dialog box, select a performance object, and then click Explain. As usual for monitoring purpose the most important counters are CPU usage, memory usage, disk IO rate.
For the Profiler usage within Analysis Services BOL documentation clearly states that :
When you use SQL Server Profiler, note the following:
- Trace definitions are stored with the Analysis Services database by using the CREATE statement.
- Multiple traces can be running at the same time.
- Multiple connections can receive events from the same trace.
- A trace can continue when Analysis Services stops and restarts.
For a period of time you should gather the required events using Profiler you can initiate collection of these events, appropriate event classes must be selected in the Event Selection tab of the Trace Properties dialog box. It is also very useful to run the trace events along with the Performance counters on the same machine. The profiler can correlate these two based on time and display them together along a single timeline. The referred process of importing the Analysis Services counters into Profiler is a fairy straightforward process; however, this is a trick along the way before you can assume the diagnosis will fetch any result.
Then coming to the labour job of collection work, you need to set up a Counter Log in Perfmon and select the System and Analysis Service counters that you want. You should pay attention to customize the appropriate sampling interval for your workload. Essentially the interval needs to be small enough so that you can see the processing or querying events fire, but not so small that you are overwhelmed by all of the data points. Also note the location of the log file. You will need to know the location in order to import the data into Profiler and do no forget to use 'RUN AS' method for the SYSMON counter log with relevant username/password. As a security policy within the Server operating system the usage of RUN AS method with Adminsitrator privileged account the Analysis Services logging is performed under an account that does not have access to the counter DLL. If you do not supply the username / password, the counters will be missing from the log, see below:

In the next series of this blog I will go about how you can go with your collected statistics and analyze them to identify the performance issue.
-
One of the [SSP] forum user asked about what is OLAP, how the process flow occurrs when update happens to a fact table!
It sounds like the basic question for Analysis Services user, OLAP - On-Line Analytical Processing for BI - Business Intelligence is useful for a fast and interactive access to aggregated data and the ability to drill down to detail, such an useful for Marketing/Sales personnel. SQL Server OLAP engine works on the performance by letting the users view and interrogate large volumes of data (often millions of rows) by pre-aggregating the information. Cubes and Fact tables are common table layers on the backgrou that puts the final data-presentation needed to make strategic decisions directly into the hands of the decision makers, not only through pre-defined queries and reports, but also because it gives end users the ability to perform their own ad hoc queries, minimizing users' dependence on database developers.
Basic layer of OLAP leverages data from a relational schema (data source) by using key performance indicator (measures) into the data-context (dimensions) that will process into multi-dimensional database (cube). All the indicators for performance are pre-loaded and aggregated when a data retrieval is initiated, a significant performance difference compared to relational database. Such in a state the processed cube can then be made available to business users who can browse the data using a variety of tools, making ad hoc analysis an interactive and analytical process rather than a development effort. Between the SQL Server version such as 2005 and 2000 the BI suite has a substantial improvement in terms of performance, management & capability.
In this case the process flow for the OLAP application involves another layer of table-access (that is referred in the Technet documentation) ...one of which is by providing the capability to temporarily or permanently write values back to a set of cells within a cube. This capability, called cell writeback, supports strategic planning by facilitating interactive "what if" analyses. You can temporarily write values to a cube and examine the resulting aggregations locally, without actually changing data on the Analysis server. Once you have completed your planning activity and have a useful set of values, you can permanently write the values to the cube.
Permanently writing a value to a leaf cell in a cube requires an individual writeback operation, which writes a single record to a writeback table. However, permanently writing a value to a non-leaf cell can require hundreds of thousands of individual writeback operations, each of which writes a single record to a relational database. The value for a non-leaf cell must be allocated across all of the leaf cells that are subordinate to the non-leaf cell, and then the values of the leaf cells are aggregated to provide the value of the non-leaf cell. Because this process can require a high volume of individual transactions, permanent cell writeback operations can significantly affect the performance of the underlying relational database.
Further information on the internals and operations of OLAP within BI look at http://sqlserver-qa.net/blogs/bi/archive/2007/07/03/sql-server-2005-analysis-services-operations-guide.aspx post too.
-
Business Intelligence (BI) - is the new term from Microsoft for all Data Warehousing & Data Mining requirement since the SQL Server 2005 version is released. Say many organization face challenges with the Data Explode, this BI offers management and development tools for IT department and Business segment within your organization with a perfect analysis and consumption tools for non-technical business users.
If you are new to the SQL Server field and to make use of BI within your needs then try downloading the BI suite. This BI suite consists a complete suite of server, client, and developer products, supports decision makers in developing deeper knowledge and insight that helps you make better business decisions, faster. This suite also integrates with the new 2007 Microsoft Office system that is integrated with the proven and scalable SQL Server platform.
- For SQL Server 2005 tools you could Download the trial software that will consist of Integration Services, Reporting Services including Relational database engine that will work for 180 days as an Evalution software.
- Going further you can even try using SQL Server 2008 (CTP) and Download the Pre-release (CTP) Software from here.
That BI suite consists of integration with Microsoft Office tools such as Word, Excel & Powerpoint, now they are not a simple desktop related tools anymore you could try using new Office Professional 2007 by going to Download the trial software from here. Similarly to manage the complete platform with Microsoft tools you could make use of Sharepoint Server too, and you can try Download the trial software from here.
-
When it comes to monitor the query performance whether it is TSQL or MDX, the process is similar. You need to have a better understanding on how queries are executed (architecture), what tools are available for monitoring and best practices to improve performance.
So similar to Relational database engine, Analysis Services engine architecture too have components that will help to fine tune the queries. Those three major components of the architecture are Session Management, MDX Query Execution, and Data Retrieval. In any case when having a Analysis Services database then memory plays important role and having inadequate memory will force Analysis Services to swap data in and out of the Query Execution Engine Cache And Storage Engine Cache that will slow down your application availabiity. Don't forget about disk performance that will have knock-on affect data being read from the Dimension Data and Measure Group Data stores with high spikes on the processor to slow down the performance.
In this regard you can take help of PROFILER that will allows you to view the events such as: query requests to the server, events to Watch with "Command Begin and Command End",
Execute MDX Script Begin and Execute MDX Script End & Query Dimension so on. When there is a slow performance reported on a cube access then make sure to add up the events, Query Cube Begin and Query Cube End, Get Data From Aggregation, and Get Data From Cache. I would like to enhance a bit on what these events can bring you in identifying the root cause, the Command Begin and Command End event will help to identify the XMLA command sent to the server from the client when the MDX statements are executed by referring the event "Query Begin and Query End". Similar to this the events Query Cube Begin and Query Cube End will help to report the beginning and end of the SELECT statement. The Duration column for the Query Cube End event reports the elapsed time for the execution of the SELECT statement portion of the MDX query, including all subcube queries to the storage engine utilized to resolve the MDX query. If you need to find whether the dimension data is resolved using cache or disk look at the event Query Dimension with EventSubclass column Get Data From Cache, both of these reports the reading of data from dimension cache and measure group cache in the cache system, rather than from a partition by the storage engine.
Similarly using PERFMON (SYSMON) and their counters allows you to track server activity in monitoring queries, use the following counters:
Make sure to baseline your counters before collecting and worrying about whether they are under control or not, refer to the
Going further down to these counters value when collected refer to the following:
-
Direct hit ratio - Ratio of cache direct hits to cache lookups, for the period between obtaining counter values. Higher is better.
-
Evictions / sec - Rate of evictions from the cache. This is per partition per cube per database. Typically due to background cleaner. Could indicate memory issue is the cache is being excessively cleaned.
-
Misses / sec - Rate of cache misses. High ratio indicates that queries are having to go to disk
-
Current Connections – Current number of client connections established.
-
Current user sessions - Current number of user sessions established.
-
Total calculation covers - Total number of of calculation covering subcubes in MDX query plan. High value means that queries are being resolved cell by cell instead of block operations.
-
Total cells calculated - Total number of cell properties calculated. High value means queries being resolved cell by cell.
-
Total recomputes - Total number of cells recomputed due to error
-
Memory Usage KB - Memory usage of the server process. Same as perfmon counter for Process\PrivateBytes.
-
Dimension queries / sec – high number means heavy trips to the storage engine
-
Measure group queries / sec – high number means heavy trips to the storage engine
-
Available Mbytes - Available MBytes is the amount of physical memory available to processes running on the computer
-
Page Faults / sec – high page faults / sec could indicate inadequate memory. Counter has both hard and soft page faults. Soft page faults are okay. Hard page faults require disk access and can hinder performance.
-
% Processor Time - > 80 % constant value indicates inadequate processor power
-
Avg. Disk Queue Length – disk queues occur when the disk is busy reading or writing information. High disk queue lengths indicate inadequate disk performance. Rule of thumb is Avg. Disk Queue Length < 3 for an extended period.
As a golden rule none of these counters can be assesed further unless you keep up with a baseline such as during busy times & less traffic hours on the database.
-
I was going through Books Online in learning the concepts of slicing of data within Analysis Services for the new project that is upcoming, all these years I have basic knowledge of SSAS and with latest available features in SQL Server 2005 Analysis Services there is more to learn from there.
Slicing is the one that is most useful when you have a huge analysis services database as you can use this view to examine the structure of a cube and to check data, calculation, formatting, and security of database objects. You can quickly examine a cube as end users see it in reporting tools or other client applications. When you browse cube data, you can view different dimensions, drill down into members, and slice through dimensions.
Further information on this subject can be found from SSAS Partition Slicing link.
-
Got this update from SQLCAT blog on MSDN about new whitepaper on Analysis Services many-to-many dimensions that helps in MDX query performance optimization steps you need to take care.
Many-to-many dimension relationships in SQL Server 2005 Analysis Services (SSAS) enable you to easily model complex source schemas and provide great analytical capabilities. This capability frequently comes with a substantial cost in query performance due to the runtime join required by Analysis Services to resolve many-to-many queries. This best practices white paper discusses three many-to-many query performance optimization techniques, including how to implement them, and the performance testing results for each technique. It demonstrates that optimizing many-to-many relationships by compressing the common relationships between the many-to-many dimension and the data measure group, and then defining aggregations on both the data measure group and the intermediate measure group yields the best query performance.
To download this whitepaper refer to this Link.
-
Since the evolution of SQL Server 2000 version the backup and restore methods have been enhanced for better performance to provide a better option for the DBA, as usual the backup and restore operations are an integral part of the Analysis Services infrastructure. The same methods/process has been completely rebuilt in SQL Server 2005 relational engine and Analysis Services.
Here is the glimpse of diagram about how the backup and restore works out within Analysis Services engine (from Technet):
The complete operation of backup/restore is carried out using XML against the engine, like once the backup command is issued against Analysis Services databases then it determines which files need to be packages in the single backup file. It will take care of the consistency of the database at the time of the backup and restore. It will make sure that all the objects in the backup file are of the same version.
Better to use the GUI provided within the SSMS backup UI, use as follows:
1. |
Start SQL Server Management Studio. |
2. |
Open the connection to the Analysis Services server. |
3. |
Right-click the database to back up and select Back up. |
The same operation can be achieved by running XML (DDL) code as follows:
<Backup>
<object>object_ref</object>
<File>BackupFile</File>
[<AllowOverwrite>true/false</AllowOverwrite>]
[<BackupRemotePartitions>true/false</BackupRemotePartitions >]
[<Locations>
[<Location>
<File>BackupFile</File>
<DataSourceID>Datasource ID</DataSourceID>
</Location >]
</Locations>]
[<ApplyCompression>true/false</ApplyCompression >]
[<Password>Password</Password>]
</Backup>
You might be thinking about compression of these Analysis Services databases, such a compression option is available with backup command. But I wouldn't suggest to use this option as the files within the partition these files (AS) are stored in compressed format. The default method is to compress the backup so do not use this option when performing with a script. Do not use any PASSWORD option for the backup as it is best to keep the backup file in a secred location, as it will be single-point-of-failure if you or whoever created the backup forgots the password.
If you going to build a strategy for your OLAP platform then better to have better understanding on storage modes of Analysis Services objects, as all the partitions and dimensions within the OLAP database use a particular storage mode that works quite opposite to ROLAP and HOLAP. If all the partitions and dimensions in your database use OLAP storage mode, as opposed to ROLAP and HOLAP, the data that you are importing into the Analysis Services database changes only at the time of processing. So always perform the backup operations once the processing of such cubes/dimensons are finished.
Similar to Relational Database methods make sure to conserve backup space and the time required to back up, you might consider backing up just the Create statement for your database. For a full backup that includes source data, you have to back up the database which contains detail data. In general, Analysis Services backups contain metadata and a subset of source data and/or aggregations, not the complete underlying detail data. However, if all objects are MOLAP, the backup contains metadata and source data.
An extract from BOL states on the storage modes how the OLAP uses the partitions and dimensions:
| Storage Mode |
Contents of backup file |
|
Multidimensional OLAP (MOLAP) partitions and dimensions |
Metadata, source data, and aggregations |
|
HOLAP partitions and dimensions |
Metadata and aggregations |
|
ROLAP partitions and dimensions |
Metadata |
.
Make sure to check the updated contents of Books Online for Analysis Services for more examples on the Analysis Services and backup strategies.