I'm back in Melbourne doing some performance-tuning work this week.
Yesterday's issue ended up being a caching problem in middle-tier code. These issues are surprisingly common.
The symptoms were hundreds of thousands of calls to a particular stored proc over a period of half an hour. It's a timely reminder that when you're tracing using SQL Trace calls or Profiler, it's important to avoid filtering out calls that aren't using too many resources, until you've looked at the bigger picture. For example, the logical reads, CPU, duration, etc. on each call were close to zero. No call on its own was a problem but the overall effect of the calls was staggering.
In the end, the problem was a cache timeout value set to 60 instead of 3600. The cache was meant to be flushed each hour, not each minute and the developer responsible thought the value was meant to be in minutes, not seconds.
One of the things that has always surprised me with SQL Server is the lack of extensibility points. In fact, the team seems to go out of their way to remove or avoid them. SQL Server Management Studio is an obvious example but I see it as a much deeper problem.
Taking SQL Server 2008 as a recent example, there is a fixed list of facets. Why? Surely there must be a well-defined interface that all the supplied ones adhere to. Why isn't that interface exposed?
I find that every time I'm in a software review or similar meeting, I'm the one in the room saying "how do I build one of those?".
I think the product would be so much richer if an ecosystem was permitted to be created around it. For example, I saw Klaus Aschenbrenner demonstrating a nice plug in for SSMS a while back that provided a class model style view of service broker objects. Why do such things have to be hacked into the product without having them integrated via supported interfaces?
The product team isn't the only source of ideas for extending the product and it also doesn't have limitless funds available for development. Why should the growth of the product be stunted by an inability to let other people expand it?
How important do you feel extensibility is for the product?
Microsoft have announced that they won't be running a BI conference as a separate event this year and that they will be supporting the SQL PASS summit as one of their key BI events for the year.
Because of that, PASS has extended the call for speakers (that originally was to close at April 10th), to allow for those that might now want to consider speaking at the summit.
Regardless, this means that the SQL PASS Summit will truly be the place to be for SQL Server and BI professionals this year. I hope to see you there.
Details are at: http://summit2009.sqlpass.org/
There seems to be a concept that no-one should install a new version of SQL Server until at least one service pack has been released for it. I've never ascribed to that thinking. I find it amusing that customers who would not install the RTM version of SQL Server 2008 (which was fully regression tested) would happily run SQL Server 2005 SP2 plus about 10 cumulative updates (which weren't).
Most of the issues I've seen with new versions tends to relate to the newer functionality. You do occasionally find exceptions to this but that's also why you need to do reasonable testing on your own applications.
Regardless, that adoption blocker is now gone with the release today of SP1 for SQL Server 2008. You can find it here: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=66ab3dbb-bf3e-4f46-9559-ccc6a4f9dc19
I mentioned in a blog post a little while ago that we'd installed a copy of Levelator and started working through all the SQL Down Under shows to even out the volume of the speaker's voices. Mai has been working hard with that for some time and tonight I've posted up the last of the shows so they are now all "levelated"!
You'll find them at the "Previous Shows" tab at: http://www.sqldownunder.com.
If you are using Outlook 2007, you need to consider installing this fix: http://support.microsoft.com/?kbid=961752
I've had so many frustrations with Outlook 2007 in recent times, mostly performance issues and the dreaded messages about Outlook not having been shut down properly last time it was used. I've also had some serious issues with calendaring, etc.
This update makes a stunning change to the responsiveness and stability of Outlook. If you have any doubt, the hotfix above includes performance improvements that will come in SP2 and are documented here: http://support.microsoft.com/kb/968009/ But the hotfix above is the one to install.
Thank you to Alon Brown and all in the Outlook team for this work!
We've been running our local PASS chapter meetings as lunchtime events in Melbourne. I like the idea of lunchtime events, particuarly in the CBD of major cities.
Great to see Patrick LeBlanc and the folk from the Baton Rouge chapter doing some lunchtime sessions. I like the name too: "SQL Lunch". It's to the point !
Just got the email back to say I'll be one of the speakers for the worldwide TechDays event that Microsoft have running on April 1st. I'll be delivering my session on Full Text Indexing called "Answering the queries your users really want to ask". Not sure of the time yet but I'm excited to be part of this large virtual event, along with other colleagues: Eladio Rincón and Ken Spencer.
Details are at: http://www.msfttechdays.com/public/home.aspx
A while back I posted about the index maintenance scripts that one of our friends Ola Hallengren had posted. A lot of people have started using these rather than the database maintenance plans that are created in SQL Server Management Studio.
I got an email from him yesterday pointing out that there's a new update for it. Details of the release are here:
release notes here:
and documentation here:
Great work Ola!
Over the last few months, my colleague Steve Abraham and I have been working with a team at Microsoft who have been creating one of the new IPD (Infrastructure Planning and Design) Guide for SQL Server 2008 as part of the Microsoft Solution Accelerator series. The main author was Melissa Stowe.
Rather than a deep technical guide on how to deploy the product, these guides are targeted at those who are making the decisions about what to deploy and those who are involved in planning deployments, to make sure they don't miss any key decision points.
The guide is now available for download from: http://technet.microsoft.com/en-us/solutionaccelerators/dd408383.aspx