Mainstream vs Extended Support and SQL Server 2005 SP4: Can someone explain all of this?….

Please note: Important changes to the support lifecycle policy for service packs that affect this blog should be read first at:

Based on community feedback (and believe me it was heard loud and clear), the SQL Server product team announced it will ship one last service pack for SQL Server 2005, SQL Server 2005 Service Pack 4 in the last part of this calendar year 2010. The announcement, found at also mentions that SQL Server 2008 SP2 will also ship in the 3rd quarter of calendar year 2010.

At minimum, SQL Server 2005 SP4 will include all cumulative update fixes since SQL Server 2005 SP3 shipped and could include other important fixes. More information on the details of the service pack will be available later in the year.

I thought as part of this discussion I would help clear up some confusion I’ve seen around our support lifecycle terms, dates, and details. I’ll do this in the form of a Frequently Asked Questions list and make the conversation apply more to SQL Server even though the same concepts apply to other Microsoft products.

Q: Where do I go to the find the official Microsoft support lifecycle dates?

The home page for support dates is at This is a page to start with to traverse other web pages that help describe the policies and specific dates.

The most important part of this page is a description of what Mainstream vs Extended Support means.

Q: So what is the difference between Mainstream and Extended Support?

Think of Mainstream support as “normal”. In other words, mainstream support means Microsoft supports a product with its full offerings including paid incident support, hotfix support, security updates, etc.

When a product enters the Extended Support “phase”, the game changes:

1) We still provide security updates at no charge to all customers

2) You can still call CSS or create a case online per the normal support offerings (pay per incident, Premier, etc)

But…you cannot obtain a non-security hotfix from Microsoft for no charge. In order to obtain a non-security hotfix, you must purchase an Extended Hotfix Support Agreement. Extended Hotfix Support Agreements are available for Premier customers. Contact your Technical Account Manager for more information.

The diagram on the home lifecycle page shows a very nice summary of this:



Q: How do I find the dates for specific products?

In general, server products like SQL Server will be in the mainstream “phase” for 5 years and the extended “phase” 5 years after that. I use the word “phase” because it describes the timeframe for the support of these products. This is why we call the entire concept the “support lifecycle”. The cycle of phases from ship to mainstream to extended support (whose end dates marks the end of the cycle).

Let’s say you want to find the important dates for SQL Server. There are several ways to do this. Let me show you how:

First, at the bottom of the home lifecycle pages are options to search for specific product lifecycles:


You could do this various ways, but I personally like the option “Search the Support Lifecycle Product Database”. When you select this link, this page comes up:


After filling in the product name and selecting Search you are presented with a list of the support dates for all SQL Server product versions. Here is an example of the top portion of that list:image

One tip here. If you perform this search you will notice in your browser this address comes up:

I’d recommend keeping this is a web favorite as it is an easy way to look up all SQL Server support dates at any time:

Q: Can you explain these dates? Why are service packs listed separately in this list? Why is Service Pack Retired filled in for a row that isn’t a service pack?

This is where I’ve seen much confusion come into play regarding support dates. The columns in this list are described as follows:

General Availability Date – this is the shipping date of the product (also called Release to Manufacturing (RTM)) or service pack.

Mainstream Support Retired – This is when the mainstream support phase ends for the product (not used for service packs. I’ll explain)

Extended Support Retired – This is when the extended support phase ends for the product (not used for service packs. I’ll explain)

Service Pack Retired – This is the column that causes the most confusion. One sentence won’t do it. So I’ll provide an explanation of all of these columns in more detail.

Let’s use a portion of the list for SQL Server regarding SQL Server 2005 to explain how this works:



First, look at the last row which shows SQL Server 2005 Standard Edition. Notice the General Availability Date of 1/14/2006. This is the official ship date of SQL Server 2005 RTM as a product. The Mainstream Support Retired Date is the when mainstream support of SQL Server 2005 as a product ends (remember 5 years after ship). The Extended Support Date is 4/12/2016, 5 years after mainstream ends. But look at the Service Pack Retired date. It says 7/10/2007. What does this mean? This date is when any support for SQL Server 2005 RTM ended if you have not installed a supported service pack. In other words, if you are using SQL Server 2005 RTM, you must upgrade to a recent service pack to be supported after this date. Think of SQL Server 2005 RTM as “Service Pack 0”. So the support for SP0 ended on 7/10/2007. But mainstream and extended support are still possible, provided you upgrade to a supported service pack.

Which service pack do I need to upgrade to if I was on 2005 RTM to be supported? Let’s look above this in the chart to find out.

One thing you could do is find the highest service pack number and look at the dates for it (which is SP3) But first, just to show how the process works, look at the dates for 2005 SP1 and SP2. You see the ship dates of 2006 and 2007 respectively. Notice the Mainstream Support Retired and Extended Support Retired dates are “Not Applicable”. Why? It is because we don’t support customers at all using these service packs. So for a service pack entry you need to look at the Service Pack Retired column to see when support for that service pack ended. You can see here that support for 2005 SP2 ended earlier this year 1/12/2010. You may ask why we didn’t put “Not Applicable” for the RTM row (again think SP0). Well, we can’t do that because in this row the Mainstream and Extended support dates apply to the product itself. Plus, we use the Service Pack Retired date to indicate when “SP0” support ends.

Now, let’s look at 2005 SP3. It shipped in December of 2008 but there are no other dates? Why? This is because this is the supported service pack you must be running in order to receive mainstream or extended support for the SQL Server 2005 product. The Service Pack Retired is also blank. This is because no newer service pack has shipped so the end date is currently the end of the product itself (but this will change when 2005 SP4 ships. See below).

Looking at the row again for SQL Server 2005 Standard, the columns for Mainstream and Extended Support apply to the product based on your installation of supported service packs. Right now 2005 SP3 is what is supported. This includes any cumulative update packages shipped after SP3. Pay attention to the Notes column for 2005 SP3. It says this support last for 12 months after the next service pack or the end of the product lifecycle. No “next” service pack exists (yet) so this is supported to the end of the product lifecycle.

You may be asking what happens after we ship 2005 SP4 since Mainstream support is sending in April of 2011? This table will be changed to reflect:

  • We will provide mainstream support for 2005 SP3 and SP4 together until April of 2011.
  • At that time, the 2005 product enters the extended support phase. The policies for extended support apply (i.e. non-security fixes require an agreement). The important point is that we will be providing this extended support for both SP3 and SP4.
  • 12 months after 2005 SP4 ships, we will no longer provide any support for 2005 SP3 (with the exception of a custom support agreement which I’ll mention later). In other words, 2005 SP3 will have a Service Pack Retired date.
  • SQL 2005 extended support will continue for customers on 2005 SP4 until the end of the product lifecycle which is April of 2016

The same concept for SQL Server 2008 applies. If you look at the current table you will see this for SQL Server 2008:



You will notice that for SQL Server 2008, the Service Pack Retired column says 4/13/2010. This means that we will not provide any support (unless you have a custom support agreement) if you are on SQL Server 2008 RTM (or any cumulative update up to SP1) after this date. So after 4/13/2010, you must be on 2008 SP1 or later to receive mainstream support.

Q: You have mentioned “Custom Support Agreement” a few times. What is that?

Whenever a service pack is retired (or RTM version aka SP0), you still have the ability to get support through something called a custom support agreement. This is a paid contract available for Premier customers. These are only valid for N-1 service packs. So we don’t offer these for every service pack shipped forever. But it does give you as a customer a way to receive support on a service pack that will be retired. Contact your Technical Account Manager if you have any questions about this. This capability is also available for the retirement of a product  when its extended support phase has ended.

Q: When a service pack is retired, can I still call CSS for a question?

The short answer is “no”. If you call CSS for a question about a product where you are running a retired service pack, we will not be able to provide support for that call.. The exceptions are:

  • You have a confirmed custom support agreement
  • You are having a problem upgrading to a supported version or supported service pack. We will limit the call to helping you upgrade to a supported version.

In conclusion, if you are wondering whether your version of SQL Server is supported, follow these guidelines:

  • Find out whether your version of the product is in Mainstream or Extended Support by looking in the lifecycle table for the product without the service pack in it.
  • Find out what service pack (or hotfix post the service pack) you have installed
  • Find the row for your service pack and look at the Service Pack Retired date. A blank date usually means it is currently supported but look at the Notes column to be sure.

I can provide a quick table for you of what we currently support for the last 3 SQL Server versions:

  • SQL Server 2000 – Product out of mainstream support. Extended support until April 2013. Requires 2000 SP4 or later
  • SQL Server 2005 – Product in mainstream support until April 2011. Requires 2005 SP3 or later. Check back when 2005 SP4 ships for updates.
  • SQL Server 2008 – Product in mainstream support until Jan 2014. Beginning April 2010 will require SP1 or later. Check back when 2008 SP2 ships for updates.

I hope this post helps you understand how our support lifecycle policies work and the meaning of dates provided in tables in the support lifecycle site.


Bob Ward