SQL Server Express Edition – Patching and 32bit / 64bit

SQL Server Express Edition – Patching and 32bit / 64bit

Patching a large SQL Server estate can be a big job. Where possible, tools such as Ivanti HEAT can be used to deliver and install patches, but this doesn’t always work. Some patching needs to be done manually – e.g. where applications or users need to be managed or when dealing with High Availability situations where you want to patch Nodes one at a time. Sometimes scheduled Patches just don’t happen – for no real reason. They just remain on your “to be patched” list. These need to be investigated and patches need to be applied manually.

I faced such an issue last week with a Server running SQL Server Express Edition. Having logged onto the Server in question and run the Service Pack installer, I was told that there were no SQL Server Instances to be upgraded. Not just nothing to be upgraded, no Instances of SQL Server were showing. I opened SQL Configuration Manager and the Instance was showing there, so I thought I’d try logging in to SQL Server see if everything was OK. I had no access.

SQL Server Express Edition is often packaged as part of a third-party application. It’s “free” – you don’t have to pay for the licence, but it still needs to be patched, have it’s security-checked and receive general SQL Server maintenance.

Common issues caused by “hidden” SQL Server Express Edition installs include:
• Visibility – as it gets installed by others, you don’t know about it until there’s an issue (or, better, it pops up on a network inventory scan)

• Everything’s installed on the C: Drive
• Autogrowth values are still set to the defaults – 1Mb (Data) and 10% Log, causing fragmentation / VLF issues
• Security is tied down so that only the Application can access
Where possible, the requirement for a SQL Server Express Edition Instance should be identified up front and the application checked to see if it can be configured to use an existing SQL Server Installation in a different location. This allows it to be put on a existing SQL Server that you have full control over – much easier to manage.

Turns out that the installed version was 32-bit, and the patch that I was trying to use was 64-bit. Since SQL Server treats the two as entirely different products, I can understand that but it would be nice if the Installer actually warned you of the difference instead of just not finding the Instance. Perhaps this was the reason that Ivanti didn’t do the upgrade. So, why was there a 32-bit version of SQL Server there in the first place? Well, I didn’t install it. A third party Application put it there as part of it’s own install. What’s more, the application locked down access so that the only account able to log into the SQL Server was the application’s own.

There are multiple ways to access a SQL Server for which you don’t have access, and I have written about this in the past:
https://nigeldba.com/breaking-into-sql-server

Sometimes, you just need to use the Service Account that the application is using. Log in using that Account and give yourself permissions that way.

Once you log into a SQL Server Instance, you can use SELECT @@VERSION to check the version that is installed. This will helpfully tell you whether it is 32-bit (x86) or 64-bix (x64).


Microsoft SQL Server <Version> (<SP / CU>) (<KB>) XX.X.XXXX.X (x<32 or 64>)

Getting back to the 32-bit Patch, a few words about downloading patches / cumulative updates.

There are a few sites that will tell you the latest SP / CU available for SQL Server versions. I have used the following in the past:

When you go to download a Service Pack or Cumulative Update, Microsoft will do its best to direct you to the very latest version. There are times, however, when you need a specific version, for example the third-party application only support a set patch level or if a new CU came out just a few days ago. “Microsoft Update Catalog” allows you to obtain exactly the update that you require. It’s worth noting that the same SP or CU can be used on any Edition of SQL Server – i.e. Enterprise, Standard, Developer or Express Edition.

To access Microsoft Update Catalog, navigate to:
http://www.catalog.update.microsoft.com

Use the Search Box on the right hand side to locate the patch that you require and then click the “Download” button. You will be provided with a pop-up box containing a choice of files to download – the 32-bit version has x86 in the filename, and the 64-bit version has x64 as shown below:

SQL Server 2014 was the last version to support 32-bit, so the issue that I faced this time will be going away.

SQL Server Express Edition isn’t though.

Leave a Reply

Your email address will not be published. Required fields are marked *

Follow on Feedly

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close