Monday, January 22, 2018

Exchange, Trend ScanMail, SQL Server Express, and SQL Server 2012 Native Client

I have an older Exchange environment to manage in my environment.  I have hopes to migrate to Exchange Online, but in the meantime, Exchange on premise needs maintenance.

We protect our Exchange with Trend Micro ScanMail (among other products).

Recently, when calling support, I discovered I had let our version of ScanMail fall behind and was out of support.  It was time to update to ScanMail 12.5.

I read the documentation, and the process looked fairly straight forward.  I was very concerned about the risks involved (email is probably our most visible service to our end users) but the work needed to happen.

In the first few screens of the ScanMail upgrade, it pointed out that if your version was being back-ended by SQL Express, you should upgrade off SQL Server 2008 Express to SQL Server 2014 Express.  A little investigation on my part reveals, yes, I need to do this.

OK, so I cancel the ScanMail upgrade and proceed onto downloading SQL Server 2014 Express.

And unfortunately, there things stopped going smoothly.

Some way into the upgrade, it stopped.  It was attempting to do something with the Microsoft SQL Server 2012 Native Client.  It was telling me that it couldn't find SQLNCLI.MSI.  OK, fair enough, I go download it.  I point it to my download.  Nope:

"The file '<path>SQLNCLI.MSI' is not a valid installation package for the product Microsoft SQL Server 2012 Native Client.  Try to find the installation package 'sqlncli.msi' in a folder from which you can install the Microsoft SQL Server 2012 Native Client."


Uh oh.

I tried other downloads, and even scoured the server for every copy of SQLNCLI.MSI I could find.  Despite finding a variety of versions, every file returned that same error message.

Finally, out of ideas, I hit cancel on the prompt for the SQLNCLI.MSI.  The installation continued on.

But, unsurprisingly, it failed, telling me that several components had been unsuccessful.

At this point, I took inventory of the server, and could see I was in rough shape.  I could see signs of SQL Server 2008 Express and 2014 Express both on the system.  But the 2008 version was what was still running.

Some quick Googling didn't yield any results.  Given the criticality of this server, I felt a call to Microsoft Support was my best option.

When I got my support technician on the phone, he had me try one interesting avenue (that didn't help my situation but could be helpful in general).   This utility checks for missing SQL MSI files and can remediate.  My server yielded no results.  The link to that utility is here: 
FixSQLMSI Version1.3.zip

Once that didn't yield any solution, his suggestion then became the right one.  Uninstall the SQL Server 2012 Native Client, and rerun the SQL Server 2014 Express upgrade.

That finished successfully.  I then had healthy SQL Server 2014 Express.  And I was able to successfully complete my ScanMail 11.0 SP1 to 12.5 upgrade.