Ola Hallengren's Database Maintenance Scripts

Our buddy Ola Hallengren has released another version of his database maintenance tooling. (Free !) I've seen quite a lot of people using Ola's scripts rather than standard database maintenance plans, and with happy outcomes.


In the new version, he has optimized performance in IndexOptimize for databases with large number of indexes or SQL Servers with large number of databases. Ola said that the time for rebuilding or reorganizing indexes is the same, but the time for investigating indexes has been reduced.


He also mentioned that he fixed an issue in database backup for databases with very long names (eg SharePoint databases). In the old version you could run into the limitation for the length of a backup device.


You'll find info and updates here:




Skype Error: Exception EXMLDocError in module ezPMUtils.dll at 000E8FCA

Skype sent down an auto-update today. Looks like it's now Regardless, every time I started Skype, it said:

Exception EXMLDocError in module ezPMUtils.dll at 000E8FCA

Reboots, etc. didn't fix it. What did fix it was moving the file ezPMUtils.dll from the folder C:\Program Files (x86)\Skype\Plugin Manager to the folder C:\Program Files (x86)\Skype\Plugin Manager\MLS. Note that at first I tried copying the file to that folder but that did not fix the issue. Moving the file, however, did "fix" the issue in that the error no longer occurs. But of course, the extras manager also no longer functions. It would be really great to see *something* from the people at Skype about this issue.

Hope this helps someone.

It was also very interesting to notice that the auto-update installer still tried to move me across to Google Chrome, away from Internet Explorer. Obviously Skype isn't really integrated into Microsoft yet 🙂

Microsoft EDW Architecture, Guidance and Deployment Best Practices

A team from our company has been working with the SQL product team members and reviewers to produce a series of enterprise data warehouse guidance documents. They cover the following topics:

Chapter 1 – Overview

Chapter 2 – Data Architecture

Chapter 3 – Integration Architecture

Chapter 4 – Database Administration

Chapter 5 – Performance, Monitoring and Tuning

You'll find them here: http://msdn.microsoft.com/en-us/library/hh147624.aspx

It's great to see these documents now published. Enjoy!

Changing drive letters: "The parameter is incorrect"

This error that I came across today typifies what I hate about error messages that I see in various programs.

I was trying to change a drive letter in the system management console in Windows Server 2008 R2. I had upgraded my drive to a new drive and when I restarted my Windows Server VHD installation, it had reassigned all my drive letters. So I tried to set the Drive D drive letter to Drive L (back to the same drive letter it used to have). I had previously changed the Drive E to Drive G without an issue. But when I tried to make this change, the error message popped up saying "The parameter is incorrect".

What exactly is a normal user supposed to make of that error message? Surely we developers can do better than this. (I'm using the collective "we" here to include the Microsoft Windows Server developers).

What was the real problem? It was that Windows had decided, to allocate a page file onto that drive. I had no idea it had done so. But because it was using the file, it wouldn't let me change the drive letter for the drive that was holding the file. Changing the placement of the paging file followed by a reboot, then allowed me to change the drive letter back to what it used to be.

But surely, there's some point in the code where the real problem is detected and surely "we" could surface a better error message than "The parameter is incorrect".

This message reminded me of an error that was common in VB6 days where the system would say "insufficient memory". I've lost track of the number of users that I've seen trying to add memory to machines to fix that problem. What the user was supposed to have instead interpreted from the message was "You have moved or removed a DLL that I was depending upon". The person who wrote the error message has obviously decided that the only reason that we can't load a DLL that used to be there is that we must have run out of memory. Surely "we" developers can do better than this. The next time that one of us feels the need to expose a message that says "The parameter is incorrect" or "Unexpected error" or "Catastrophic error", etc. etc., please can we spend a few more cycles thinking about how to surface something more meaningful that would give the user some chance of understanding the issue?

IE9 and Report Builder 3.0 – Compatibility Mode is needed

Hi Folks,

Hope this helps someone. After upgrading to IE9 and SQL Server 2008 R2 CU7, I found that I couldn't access Report Manager anymore. I found that even though I was in the BUILTIN\Administrators group, that I had to specifically add myself to the Content Managers role in Reporting Services for the root folder of Report Manager. (I have no idea why as it used to work ok) NOTE: I had to do this with UAC turned off, otherwise, Site Settings, etc. were not visible. Remember to turn UAC back on if you did this temporarily.

But the bigger issue was that Report Builder 3.0 would not launch, even after I got the button back on the screen. The message was that I needed to install the .NET Framework 3.5, even though I already had .NET Framework 4.0 installed. Nothing I did seemed to fix the problem.

In the end, the issue is that Report Builder 3.0 will not launch from Report Manager in IE9 unless you enable Compatibility Mode (normally used for older web sites that don't render properly in IE9) for the Report Manager web site. Once I set Compatibility Mode, Report Builder 3.0 launched as expected.

Hope this helps save someone else a bunch of time.



Do your guarantees match your advertising and rhetoric?

At our company we teach quite a lot of classes and that means we do a lot of printing. So, we decided to move up to a really serious printer. Whenever we go to a high-end print shop, they all use Fuji Xerox Docucenter printers. So we thought we should get one.

These are truly amazing printers/copiers. The print quality is the best available. The print speed is awesome (and just based on your budget). The capabilties are exactly what we need. The printers are renowned for their reliability and the price of the printers reflects their high-end status.

However, given a company claims to have the best product available, charges a price that matches those claims and also says that it almost never breaks down, how long would you imagine they would warrant it for? 12 months? 24 months? 36 months? 5 years?

I was a little stunned to see that they cover only the cost of parts for 3 months. Yes, that's no misprint. It's 3 months.

I am assured this is "normal" for this segment of the industry. Am I alone in finding this more than a little odd? A small car manufacturer would warrant their similarly-priced product for 3 or 5 years today.

I understand that most people buy these with some sort of ongoing service agreement but is there any other industry where you sell items that cost as much as a car and only warrant it for 3 months? What message does that really send about the manufacturer's confidence in their own product?

Now for a positive and uplifting message about Marysville

I had a day of mixed emotions today.

I (and I assume most of the world) have been horrified by this "religious" massacre in Afghanistan: http://www.theblaze.com/stories/two-beheaded-florida-quran-burning-triggers-massacre-at-un-office-in-afghanistan/ 

Today, however, I also had the reverse experience and a seriously uplifting one. This afternoon I drove through Marysville. For those that don't know it, it's a town that was wiped off the face of the map by bushfires in Victoria a while back. Hundreds of people died. I was roughly in the area and so I made a point of popping into Marysville to see how they were coping. In general, I find that the people in those towns don't want hand-outs so much as business. So I try to visit them and spend some cash in their shops, etc.

But it was the people in the bakery cafe that impressed me today. I saw a tin-can for donations on the counter. I wandered up to look at it. I thought it was a good idea to contribute to helping the locals. What impressed me most was that the collections were for flood victims in Queensland and Victoria, not for Marysville at all. Given what a mess they are currently dealing with themselves, that's seriously impressive and uplifting to see.

A system view to return a list of reserved words?

There was a discussion on our internal mailing list today about how to get a list of reserved words for SQL Server. It strikes me that there should be a system view that returns this. It could also return details of the version of the product where the word was added and an indication of if the use of the word is deprecated.

If you agree, you know the drill. Vote once, vote often 🙂


Warning: Don't apply VS2010 SP1 (yet) if Intellisense in SSMS matters to you

This one is a bit annoying. When you apply SP1 for Visual Studio 2010 (VS2010), one of the side effects seems to be that you lose Intellisense in SQL Server Management Studio 2008 R2 (SSMS).

If Intellisense matters to you, you might want to wait for a cumulative update to fix it.

Details here: https://connect.microsoft.com/SQLServer/feedback/details/650569/ssms-2008-r2-is-losing-intellisense-after-installing-visual-studio-2010-sp1