Newsletters




The Ebb and Flow of SQL Server Instrumentation


Microsoft SQL Server's relational engine has offered new instrumentation that improves by light years with each new release.  The introduction of Dynamic Management Views (DMVs) in SQL Server 2005 provided a much-needed equivalent to Oracle's long-standing and capable V$ and X$ system views.  SQL Server 2008 has provided another dramatic improvement to its instrumentation with Extended Events (also known as XEvents) that promises to offer even greater opportunities to tune, trace and troubleshoot the inner workings of a SQL Server application.  All of this stands in stark contrast with the anemic instrumentation offered in SQL Server Analysis Services, Microsoft's wonderful multi-dimensional data repository that is a free feature-set within the SQL Server product.

SQL Server has long offered a two-part toolkit for basic instrumentation of its engines, both relational and analytical: SQL Profiler and Windows Performance Monitor (PerfMon), also known as Windows System Monitor.  While each of these tools has its uses, they're also the focus of a long-running love/hate relationship within the community.  Yes, they help to diagnose what's happening (or failing to happen) inside SQL Server.  But they also are confounded by obtuse interfaces and cryptic information that, without long years of experience, mean almost nothing to the novice troubleshooter or performance tuner.  Thankfully, Microsoft heard the weeping and gnashing of teeth among its user community and greatly advanced the basic instrumentation in the last couple of releases of SQL Server.

While SQL Profiler and PerfMon have seen incremental improvements with each release, the addition of DMVs has offered a leapfrogging technology to peer into the database engine and see what's happening.  A simple Google search for "useful DMV query SQL Server" will turn up dozens of excellent DMV queries that retrieve internal information that simply wasn't exposed in any way just one release ago.  Add in the extremely granular, event-driven nature of XEvents, making it now possible for you to track overall system utilization down to the individual SQL statement level.

While there is some nascent capability to do troubleshooting of this nature in SQL Server Analysis Services (SSAS), you're largely left in the dark.  If you search the SQL Server Books Online for help diagnosing and monitoring the health of SSAS, you'll be pointed to PerfMon, SQL Profiler,  and the even more elementary tools of Windows Debugger, Task Manager, and the Windows Event Viewer (at TechNet article http://technet.microsoft.com/en-us/library/cc966423.aspx#EHAA). 

There's hope on the horizon if you're an SSAS user.  Be sure to bookmark Carl Rabeler's content on the website http://www.sqlcat.com by starting at http://sqlcat.com/members/CarlRabeler.aspx (registration or LiveMeeting account required).  From there, you can go to the CodePlex Web site and see the very nice SSAS Samples provided by the SQLCAT team at http://www.codeplex.com/SQLSrvAnalysisSrvcs.  There are several tools in the SSAS Samples pack that greatly ease the collection and evaluation SSAS performance metrics.  Until Microsoft adds a complete, in-the-box set of diagnostic and troubleshooting tools and instrumentation for SSAS, this is a very badly needed add-on to the current SSAS toolkit and one that every SSAS analyst should utilize.


Sponsors