Upgrade to Drupal 7.12 on IIS and SQL Server

Ideally, Drupal installations run on Apache and MySQL. Drupal can operate on other platforms such as IIS and SQL Server, but these installations require extra work and are not for the average user.

Why Does Drupal Have Issues Running on IIS and SQL Server?

Drupal is open source software, distributed under the terms of the GNU General Public License - meaning it is free to use. In order to give Drupal the largest possible user base, it has been designed, built, and tested on open source technology like Apache and MySQL. It wouldn't make a whole a lot of sense if Drupal, a free product, needed expensive proprietary technology to run.

We're not saying Drupal cannot run on IIS and SQL Server, in fact that is what this article is all about. What we're saying is that the amount of people running Drupal on IIS and SQL Server is about 1% of all Drupal users (just a guess), therefore its level of support (and bug fixes) on this platform is greatly diminished.

Let's Get Started - Our Drupal Upgrade Process

Our general upgrade process for Drupal is to clone our application and database onto a test server. Then we upgrade the minor version on the test server and perform testing to make sure the Drupal instance works correctly. Once we confirm proper functionality, we replicate our changes back to production. It goes without saying that it is extremely important to have both your database and application backed up throughout the process.

Upgrading Drupal 7 to Drupal 7.12 on IIS and SQL Server - the Latest Stable Version For This Platform

So there is no confusion, our platform consists of:

  • Windows Server 2008 SP2
  • IIS 7
  • SQL Server 2008 R2

Follow these steps to upgrade Drupal 7 to Drupal 7.12 on IIS and SQL Server:

  1. Put your Drupal Site in maintenance mode and then backup your application and database.
  2. Download the Drupal 7.12 update.
  3. Download the Microsoft Drivers 3.0 for PHP for SQL Server.
  4. Extract the drivers to a folder. You will now need to copy over the appropriate driver to your php installation directory.
  5. Check your php install to find out the version you are using with IIS. Run phpinfo to find out what version of VC it was compiled with and if it is thread safe or not.
  6. Once you have that information, select the appropriate dll files and copy those over to your php extension directory.
  7. Register the new extensions in the php ini files.
  8. Restart IIS and rerun phpinfo to make sure your new extensions have been picked up.
  9. Now proceed to upgrade Drupal .
  10. Start off by removing all the old core files/directories (except for sites, profiles, and any additional custom files that your instance may require, such as htaccess, robots.txt, settings.php, etc.) More info can be found at Drupal.
  11. Extract the Drupal 7.12 Update files and copy over to your site directory.
  12. Reapply your custom configuration changes to htaccess, settings.php, etc.
  13. Install Drupal 7 driver for SQL Server and SQL Azure here
  14. Run update.php. After the update completes make sure in settings.php the variable $update_free_access must be set to False.
  15. Take Drupal out of maintenance mode.

Have any questions or comments, please post them below: