clever disguise
“Apply this hotfix only to systems that are experiencing the problem described in this article.”

We’ve all seen this mantra on Microsoft hotfix articles, and have learned (sometimes the hard way) that hotfixes should not be applied willy-nilly. But a recent experience has left me scratching my head at first, gasping in disbelief and finally venting with frustration…when a hotfix turned out to be the latest version of an oledb driver.

Scenario: We were developing dashboards/reports for a client, using their Enterprise Data Warehouse (hosted in DB2) as the source of our cubes and SSRS reports. The feature pack for SQL Server 2012 Enterprise Edition contains oledb drivers for DB2, and everything worked great…until one of the report queries required a 12-table join. After a serious amount of effort & time I concluded that it was the introduction of a 12th table in the join (any table) that produced the nondescript error. As is usually the case with drivers, I scoured the inter-webs for any sign of a more recent driver or a fix for the specific issue. Nothing. Last resort, Microsoft support…

Without making this blog post too long and painful I’ll jump to a few weeks, support engineers and escalations later when I was pointed to this link to download the latest version of the driver. Wait…what!?

The hotfix article (if you’ve followed the link), mentions a very specific error that has nothing to do with our scenario. Better yet, you’d have to be the world’s best web crawler yourself to have any chance in finding this article and associating it with “the latest version”.

A few hard-earned lessons here:

  1. Feature Packs do not always contain the latest version of drivers etc.
  2. The download pages for Feature Packs do not contain links to “hotfixes” or updated components. (Wouldn’t it be nice if it did)
  3. My general conclusion is that there are other components’ latest versions disguised as hotfixes, and no way of knowing about it.
  4. Microsoft support WILL NOT believe you that a query only fails when introducing a 12th join, even after producing conclusive evidence.

Leave a Reply