Wednesday, January 14, 2009

Properly deploy software updates to a MOSS 2007 farm: Part 1

With the recent release of the December Cumulative Update, many of you may be confused on how to properly deploy software updates to a MOSS 2007 farm. I have put together a complete step-by-step overview of the deployment process. Because it contains two separate phases (PRE-UPGRADE PHASE and UPGRADE PHASE), I have decided to convey the necessary information in two separate blog posts. This first post will discuss each step of the pre-upgrade phase.


1. Ensure each Windows Server 2003 server in the MOSS farm is up-to-date with the latest operating system service pack and other critical updates. Use Windows Update if needed.

2. Determine and download the updates you need to install and the sequence by which you will install each update. For an updated list of the major updates available for MOSS 2007, refer to the Deploy software updates for Office SharePoint Server 2007 guide located at To view what updates you currently have installed on your MOSS farm, simply open Add or Remove Programs and check the Show updates option. In regards to an update installation sequence, Microsoft recommends installing updates in the following sequence:

a. Windows SharePoint Services 3.0 Service Pack 1 (KB 936988)
b. The 2007 Microsoft Office Servers Service Pack 1 (KB 936984)
c. The Windows SharePoint Services 3.0 December Cumulative Update (KB 960010)
d. The Microsoft Office Servers December Cumulative Update (KB 960011)

NOTE: Microsoft has announced that beginning with the December Cumulative Update all subsequent Cumulative Updates will also contain a package that includes the latest version of every hotfix patch available to date. Therefore, when building a new MOSS server, you can simply apply the latest service pack, the latest WSS Cumulative Update package, and finally the latest MOSS Cumulative Update package and be completely up-to-date.

3. Ensure the system drive on each server in the farm has enough disk space to accommodate the new updates. At minimum, there should be at least 1 GB available on the system drive of each server, but I recommend a system drive of 6 GB or greater per server. This is especially true for 64-bit systems as they generally need larger partitions.

4. Backup the farm and verify restore capabilities. THIS IS A VERY IMPORTANT STEP. Why? Because if something goes wrong during the upgrade process, you will need the capability of restoring the farm back to its pre-upgrade status. Here’s another tidbit -- once you upgrade an existing farm, you cannot restore the farm to its previous state. In other words, you cannot restore an older version of a farm to a newer version. For example, if you apply Service Pack 1 (SP1) to a MOSS farm, backups of the pre-SP1 farm are no longer valid for restore. So how do you restore to a previous version of the farm? You would have to build a new MOSS farm to the same update level as your backup, and then restore the farm from your backup to the newly built farm. I know, it sucks, but we must deal with it.

NOTE: If you are using the “out-of-the-box” backup capabilities in MOSS 2007, such as the farm backup feature available in the Operations tab of the Central Administration Web Site, be sure to also manually backup the following:

a. Any configuration changes or custom solution files in the Inetpub or Office 12 hive (Program Files\Common Files\Microsoft Shared\Web server extensions\12).
b. Any customizations made to the Web.config file.
c. Alternate access mappings.
d. Internet Information Services (IIS) settings, including host headers, dedicated IP addresses, and Secure Sockets Layer (SSL) certificates.
e. Any other out-of-the-box files you have customized.

5. Document the content databases by running stsadm –o enumcontentdbs –url http://yourwebappURL at a command prompt. If you need to reconnect them later, you will have the necessary information readily available.

6. Check the size of the content databases. Best practice recommends a maximum size of 100 GB for each content database. If you have content databases that exceed 100 GB, I recommend adding more content databases and load balancing the site collections as needed.

7. Ensure there are no orphans in the farm. To detect orphaned items, use the following command line: stsadm –o databaserepair –url http://yoursiteURL –databasename YourDatabaseName. To delete orphaned items, use the following command line: stsadm –o databaserepair –url http://yoursiteURL –databasename YourDatabaseName –deletecorruption.

8. Check the logical and physical integrity of all objects in the MOSS databases by performing a DBCC CHECKDB on each database. For more information on how to use this procedure, see the following link:

9. Defragment the content, search, and profile databases as needed. Refer to the following link for an SQL script that measures the level of fragmentation for each database, and then performs either an offline defragmentation or online defragmentation if it is required.

10. Check the status of Timer Jobs. If you upgraded from a previous version of SharePoint, either in-place or gradual, there could be some upgrade jobs still in progress. If so, the software update installation might fail. Verify that none of the upgrade processes are running.

My next post will cover the upgrade phase. Stay tuned…

No comments:

Post a Comment