Analysis Services was originally introduced with SQL Server 7.0 as the core backend technology for Microsoft's business intelligence offering. Since the original release, the overall business intelligence offering has improved immensely for both the presentation and processing layers. Unfortunately one area that has been a mystery is the internal processing and tuning of Analysis Services. Most technical folks accepted the fact that the shear volume of data supported by Analysis Services equals long running queries. For this reason, beefy SQL Servers were required to support a small segment of the user community as compared to line of business applications.
With SQL Server 2005, Microsoft has provided a means to gain the needed insight into the Analysis Services Engine via SQL Profiler. This now opens up a wide range of possibilities as it pertains to performance tuning. What is even better is that if you take the time to learn SQL Profiler for the relational engine the learning curve is minimal for profiling Analysis Services; it is the same process to set up a session, same point-and-click interface to capture the counters and same options to save data to a table or a file.
|SQL Server 2005 Profiler for Analysis Services|
|ID||Task||Directions and screen shot|
|1||Profiler: Configure and save the Profiler trace data to a table or file and be sure to capture both the start and end-time values.||Reference the SQL Profiler: Features, functions and setup in SQL Server 2005 tip for instructions on how to set Profiler.|
|2||Authentication: When starting Profiler be sure to select Analysis Services as the server type and keep in mind only Windows Authentication is permitted.|
|3||General: Key to note on this screen is the Trace Provider Type (Microsoft SQL Server 2005 Analysis Services) and the ability to capture the data to a table of file for additional processing.
For sample queries to perform the data analysis, reference this tip on Tracking query execution with SQL Server 2005 Profiler
|4||Events Selection: The Queries Events and Query Processing categories are the primary insight into the Analysis Services database processing. Focus on these events for query tuning.|
|5||For simple analysis, stop the Profiler session and review the results directly in the Profiler window.|
A word about backward compatibility
With SQL Server 2005 Profiler the relational engine for SQL Server 2000 can be profiled which is a big win for backward compatibility and learning the new SQL Server 2005 tool set while still managing SQL Server 2000 servers. Unfortunately, that is not the case with Analysis Services. With SQL Server 2005 Profiler only Analysis Services 2005 can be profiled.
For more information about Profiling SQL Server 2005 Analysis Services visit the following sites:
- Introduction to Monitoring Analysis Services with SQL Server Profiler
- Analysis Services Event Classes
About the author: Jeremy Kadlec is the principal database engineer at Edgewood Solutions, a technology services company delivering professional services and product solutions for Microsoft SQL Server. He has authored numerous articles and delivers frequent presentations at regional SQL Server users groups and nationally at SQL PASS. Kadlec is the SearchSQLServer.com Performance Tuning expert. Ask him a question here.