Did you know that installing certain Windows features could impact the way that SQL gets installed on your server? Me either.
When performing some installs recently I came across a problem whereby I was not able to change the shared tools location. The option was greyed out. This didn’t make any sense to me. The install was happening on a new server, there had been no previous SQL installs on the machine and so no problems with installed components preventing those kinds of problems.
Digging through the filesystem I found a C:Program FilesMicrosoft SQL Server folder. That didn’t make any sense to me at all, I’d not installed anything.
I could not even find anything that might be using this folder when looking through the installed software and yet I couldn’t delete the folder as there were files in use.
After much head scratching I finally found the problem.
I had installed the Windows System Resource Manager feature to help manage resources, which is very useful when running more than one instance of SQL on a machine, or if you have multiple software installs and want to keep control of your CPU and memory. This feature uses (and so automatically installs) another feature called the Windows Internal Database which it says is a relational data store.
By the looks of things the Windows Internal Database is based around the SQL 2005 engine, this gets installed into C:Program FilesMicrosoft SQL Server.
When performing the new SQL install it went out and identified that SQL components were already installed and forced installation of the shared tools into that same location.
After removing the Windows System Resource Manager and Windows Internal Database features I was able to move the shared tools install to another location.
Be very aware of what features and roles might be install on your machines, it might bite you when you least expect it.