We did a survey of SQL Server 2005 Adoption rates because I'd seen some other press that 70% of organizations had adopted it. I thought that was way high, especially considering my 6-7 friends haven't done it at all.
So I decided to try and put out a survey of adoption and designed it to try and separate the installs in dev from production. The raw results are below, but here are a few conclusions based on the results.
The bad first and then the good.
ETL
One of the reasons I often see for upgrading is the amazing enhancements in the ETL portion of SQL Server with Integration Services. It's a true programming environment, so the developers can actually use a .NET like, Visual Studio-type environment to build complex data movement packages.
Conversely, those sites that are DTS heavy, that have complicated packages built will often site this as a reason NOT to upgrade. It seems the radical change has created a dual-edged sword where many people don't want their investment in DTS to disappear.
For those of you holding back, and I'm not saying you need to upgrade, think about the fact that DTS packages can run on a 2000 server. There's a runtime environment you can install. Not sure about how you edit these packages (maybe keep a SS2K workstation around), but it's an option.
Cost
One of the biggest factors that I see mentioned for not upgrading is the cost. An upgrade license of SQL Server 2005 costs real, hard dollars for a company and there's not necessarily a big benefit. If you aren't moving to new hardware, or don't have the need for a specific feature of 2005 that can lower other costs in your company, then the upgrade cost is a hard sell.
There was a good flaw in the survey in that it appears that a number of ISVs or software vendors answered and perhaps skewed the survey. They're willing to absorb the upgrade cost because once they bring out the next version of their software supporting 2005, they can push customers to upgrade and get their own revenue.
A decent percentage of people also mentioned 3rd party applications that were not yet certified. That's another cost item you have to consider because the cost of upgrading your application along with the database server can be significant.
Features
The list of new features is long in SQL Server 2005 and it seems that many people think this is a worthy upgrade. I see 64-bit mentioned often and it's a big step. If you have the chance to buy new hardware, I'd seriously consider a large, 64-bit server with lots of RAM and then consolidating servers.
The CLR is mentioned, but I haven't seen any really cool production reasons mentioned. It seems CTEs are garnering more excitement now than the CLR. However in either case, along with TRY-CATCH, there are some very handy and cool new programming features.
I haven't heard anyone complain about Reporting Services 2005 being less desirable than Reporting Services 2000. It seems that anyone that wants to build a reporting server should seriously consider SS2K5. And send a thank you note to Brian Welcker
I could go on and on, but if you are looking at an SOA architecture implementation, then you might want to think about Service Broker and the new web services features of 2005.
Conclusion
I think this one sums it up nicely:
SQL Server 2000 does everything my company needs.
I've heard this so many times that I think my survey has serious flaws to be reporting a 50% adoption rate. We just upgraded here at SQLServerCentral.com, but only because we migrated to new servers and it was worth the test to see if it would work. It did and we're in 2000 compatibility mode on a 2005 server that works great.
I like 2005, but as a business owner, it seems that in most of the places I've worked it wasn't worth the upgrade. But I think that is what Microsoft is looking for in many cases. They need to keep marching forward and we need to upgrade to keep up with new versions and maintain support. It's a tough cycle, but it's one that also keeps companies moving forward on technology, finding new ways to implement it in their businesses.
I'm not sold on a 2-3 year cycle, but I think a 4-5 year one does make some sense. So I'm thinking that if you upgrade every other version, either SQL 7 -> 2005 now or SQL Server 2000 -> SQL Server 2008, then you have some stability, but you also stay within the support window.
I'll build a few more surveys to try and get some more details about what's really happening in the world. So here's my recommendation:
Results
We had 610 results as of Friday when I started the analysis. I'm giving the questions below and the results:
- Have you installed SQL Server 2005 on your workstation?
- Yes - 78% (473/610)
- No - 23% (141/610)
- Have you installed SQL Server 2005 on a company server?
- Development Server - 75% (456/610)
- QA Server - 24% (145/610)
- Production Server - 49% (297/610)
- R&D Server - 20% (122/610)
- Which SQL Server platforms are you running?
- v4.2 - 0%
- v6/6.5 - 1% (9/610)
- v7 - 12% (73/610)
- v2000 - 92% (563/610)
- v2005 - 59% (357/610)
- How many systems have you deployed SQL Server 2005 on in a production fashion?
The average here was 2.4 systems. This was interesting because of the spread. I saw a low of 0, as expected, but a high of 100. There for 6 other people actually answering 50 or more and then 27 additional in double digits. I'm guessing that these are estimates at large companies since I'm not sure that many people can say it's 50 systems exactly, but it could be. However with people answering this survey in 5 minutes or less, I'm also somewhat worried that those large numbers could be WAGs.
- Low: 0
- Hi: 100
- How many systems have you started testing SQL Server 2005 for?
The average here was 3.1, which is what I'd expect. More systems in test than in production. Of course if you excluded systems already moved to 2005 in production, then I don't know what to make if this. A high of 100, 8 more at 50 or greater, and then 38 more in double digits. The numbers were definitely higher here with lots of 10, 20 and 30s listed.
- Low: 0
- High: 100
- For consultants, how many clients have you visited that are running SQL Server 2005 in a production environment?
The average here was 1.6, with some double digits. Only 199 people answered this.
- For consultants, how many clients have you visited that are not running SQL Server 2005 in a production environment.
The average here was 2.9, so about 2/3 to 1/3 from the previous question, however, 588 people answered, so I suspect that people got confused here and answered when they shouldn't have.
- Is it worth upgrading your SQL Server systems to SQL Server 2005?
- Yes - 72% (442/610)
- No - 28% (172/610)
- Why or why not would you upgrade to SQL Server 2005?
I'm not listing all 610 or so responses, but I picked out a few of the interesting ones.
For the Upgrade:
- The benefits of SQL Server 2005 vs. SQL Server 2000 are at least as significant as 7.0 vs. 2000. SSIS is far superior to DTS, Reporting Services is now significantly better and really CAN be an enterprise solution. Partitioning is much easier and there are countless other reasons we've chosen SQL Server 2005.
- SQL Server offers so many features that were unavailable or difficult to implement in 2K. As an example, the CTE functionality is wonderful, online indexing, and the ability to put CLR functionality into the database.
- ++full use of 64-bit processors on our newer servers
--Stability is key - and we are finally stable after a couple of years of bouncing servers - not the fault of SQL 2000 alone, but it is not always graceful when SANs misbehave.
--Conversion of DTS packages is also a problem - we have many and it will take some effort to change them all.
- We plan to start the upgrade to SQL 2005 in 2008, as part of 4-yearly h/w and s/w technology refresh. The business priority is (rightly) to focus on what increases income. SQL 2005 is seen as business-neutral, and therefore has little priority. The decision is good for the business, bad for the career.
- We are a software development company, and we have to deliver all new customers on 2K5 as you simply cannot buy 2K anymore. Migrating existing customers will take place at upgrade time, so we should have all customers (some 300 installs) on 2K5 within 6 months. In question 4, 5, 6, 7 I put in the values as percentages, so 20% of 300 and 80% of 300.
- Our current SQL 2000 platform is stable and usable, 2005 gives very little benefit, however, we have a policy to keep up with releases of software so are planning the migration to all our systems over the next year.
- For my company, it's worth it for the database mirroring support and a few other features (in standard edition). The client tools in 2005 are IMHO not the same quality as the 2000 tools (2005 tools are buggy and slow), but given MS support, new features, and the licensing options, 2005 is a better option for my company.
- The new features may be worth while, but the short answer is that you must upgrade eventually or get behind with an unsupported version. The companies that think catch-up is cheaper later are wrong in my opinion. I like to upgrade database engines about 2 years after they become available. Therefore I feel we are about on schedule with SQL 2005.
- We would upgrade because Microsoft is dropping support which looks like they are going to do just to get companies to adopt 2005. We have many DTS packages and the transition to SSIS is a steep learning curve, here again Microsoft is pushing the use of SSIS with there notes indicating the non-support of DTS in the future. The transition to 2005 is not easy and Microsoft did not help us with the complete overhaul of the tools to the .Net framework and use of Visual Studio wit ht he SSIS tools. Many of our laptops will need hardware upgrades just to support 2005. Another thing why is Microsoft dropping support for version 7 and 2000 of SQL Server within three months of one another? Is this helping them or their customers?
- We found an almost 40% performance increase in our application over SQL 2000.
Against:
- I've worked in a large IT shop as a SQL DBA for a number of years and have been through two upgrades SQL 6.5 to 7.0 and 7.0 to 2000 and the 2005 upgrade is different. It's different because in past 7 years there was a push to just get systems done and now we are dealing with trying test and upgrade these systems. The legacy of these systems is an appalling lack of any system documentation and systems that have been hacked together by developers who have long since left the company. So, our 2005 upgrade project is immediately faced with doing a great deal of analysis of everything that touches a database. Even the simplest of applications will end up having a half dozen connection points from various "programs" and of course none of this is documented. I've been working on an upgrade project for the past 3 months and in that time we've spent thousands of hours which translates to hundreds of thousands of dollars to upgrade systems that once complete will do exactly the same thing they did in SQL 2000. I suspect most companies are dealing with the same issues, that have nothing to do with SQL Server technology, but everything to do with poor development processes. My advice, unless your company is operating at a CMM level 3 or higher -- don't upgrade and simply deploy new systems on 2005.
- 1) We have many applications running on SQL Server 2000 which are not changing. It is difficult to get the business permission to assign resources to test the application with 2005
2) Getting a resources to migrate DTS packages to SSIS is difficult
3) Running 2000 and 2005 on the same server is very scary. Running both 2000 and 2005 client on my PC introduced bugs that I had to find fixes for.
4) We have a production cluster with 12 applications running on it. Creating a second instance running 2005 is scary. Upgrading the first instance to 2000 is even more scarier.
5) Purchased applications lack of support for 2005
6) SQL Server Management Studio is still buggy. For example, I granted DDL ADMIN to a windows group but they can't create tables through the tool GUI because it is not assigned a Schema.
- Not = risk vs gain. Just not enough in it at the moment.
For = don't want to be unsupported. SQL7 boxes will go to 2005. 2000 boxes we will sit tight for a while
- At this point, my SQL Server 2000 databases are functioning properly. If Microsoft is to come out with a new version within a year or so, I'll probably wait to see if there are significant improvements that will benefit my clients at that point. Until then, I do not believe that my clients see the costs to upgrade to 2005 as outweighing the benefits.
- Cost. Based on the # of SQL Server installations we have here (over 20 in production) I cannot go to Senior Management and say you will get over a quarter of a million dollars of value by upgrading.
- It is quite expensive and, if you just use the relational engine, the benefits you receive may not outweigh the additional expense (unless, of course, one of the benefits is critical to your business)
- The cost to use SQL2005 and porting applications seams to be the biggest reason along with the fact that everything is working very well on SQL2000. We are a state agency so I would guess that until someone buys an application that will run on SQL2005 and they pay for the license though the vendor we won't be running on SQL2005 and don't have plans to.
- We would like to upgrade. There are many features we would like to use. However, we use many custom DTS jobs in our system, and none of them will migrate. We could overcome this by keeping a system on 2000 after upgrading, but cost is still an issue with us. We have several servers, each with four CPU's. This makes for a huge upgrade cost for our company. We may consider waiting for the next version of SQL. Due to the upgrade pain, and cost, at this point it may make more sense to just wait for the next version.
- Will you upgrade to SQL Server 2008 within a year of its release?
- Yes - 32% (198/610)
- No - 68% (416/610)