This article is the first of a multi-part series detailing the SQL Server upgrade process from the technical, logistical and business perspective.
Introduction to SQL Server upgrades
As the DBA in your organization, you are central to the success of the SQL Server environment. In the case of a system upgrade, you need to act as a 'driver' for an upgrade project to ensure success based on your technical expertise and role in the organization. Over this multi-part series, these articles will outline proven and recommended best practices for the upgrade process. This process is detailed from both technical and logistical perspectives, which are both critical to the success of the project.
Needless to say, upgrading to SQL Server 2000 can be a daunting task based on the criticality of the systems, level of coordination and technical planning. As such, the series of articles will provide valuable explanations, charts and graphics to best illustrate the points to assist you in the project. With this being said, be prepared to work with new team members, wear new hats and resolve challenging issues in the course of upgrading to SQL Server 2000.
The motivation for this article is the realization that in many companies applications are in place, but the right tool for the job is not being leveraged. Too often, piece-meal applications are supporting business critical functions that cannot be leveraged to save time nor generate revenue. To further elaborate:
- Companies are still running SQL Server 6.5 and limping along by having IT staff spending hours resolving server down, corruption and data integrity problems with minimal user productivity.
- Microsoft Access has grown from a desktop database to a department of users that are severely stressing the database ultimately leading to corruption and frustration.
- Third-party applications need to be upgraded in order to leverage new functionality released by the vendor and needed for the business.
- Microsoft Excel is being used to run business critical functions and important data is scattered across the organization and is sometimes mistakenly lost.
The bottom line contribution by the DBAs for the business is to improve efficiency and accuracy for the user community as well as save time and money for the business. The DBAs win by being able focus on more challenging IT projects on the latest and greatest technology. I am sure you can agree this is a WIN-WIN scenario for everyone involved.
Business justification for a SQL Server 2000 upgrade
For those companies that have not migrated existing servers to SQL Server 2000, the rewards certainly outweigh the effort. The level of effort may be moderate to high, but the overall platform stability and feature rich capabilities of SQL Server 2000 are unprecedented. As a DBA, your ultimate responsibility is to ensure your systems are available to support the business needs to include the proper platform to efficiently and accurately process the transactions in a cost effective manner. Below outlines the Business Justification to leverage SQL Server 2000.
|Total Cost of Ownership||Total Cost of Ownership (TOC) lower than any other DBMS in the market|
- Unprecedented system performance for both OLTP and OLAP environments
- Improved ability to scale up and out by leveraging expanded hardware resources
- As much as 64 GB of memory and 32 processors
- As SQL Server 6.5 ages, Microsoft is providing less support for the product and will eventually have few Support Engineers available to address critical needs
- Currently, if you have a business critical issue with SQL Server 6.5, the typical Microsoft Support recommendation is to 'Upgrade to SQL Server 2000'
|Regulated Industry Requirements||
- Upgrading to SQL Server 2000 becomes especially important for companies in regulated industries that may require a several year data retention period
- Relying on SQL Server 6.5 for the short term may not be an issue because staff is familiar with the technology
- In five years, finding individuals to administer SQL Server 6.5 will be difficult and not attractive to DBAs who are typically interested in the latest and greatest technologies
|Level of Automation||
- The level of automation from the SQL Server tool set:
|Third Party Products||
- SQL LiteSpeed: Compressed and Encrypted backups
- Lumigent Entegra: Enterprise Auditing Solution
- Lumigent Log Explorer: Review and Rollback Database Transactions
- Precise Indepth for SQL Server: Performance Tuning
- NetIQ SQL Management Suite: Enterprise Monitoring and Alerting
Building the upgrade project plan
An upgrade project that is critical to the business requires project planning in order to efficiently and accurately complete the project. Due to the sheer size of the project and the number of individuals involved, completing the project properly becomes more of a challenge. Although this can be challenging, as the DBA you are the cornerstone of the SQL Server environment. You can take on this project to benefit the company and showcase your skills to demonstrate that you can take on more responsibility. In order to break down the SQL Server upgrade project, a DBA must:
1. Identify the major project phases:
2. Expand the project phases to granular tasks in the proper sequence:
3. Determine time frame and responsibility per task:
4. Incorporate meetings, sign-off and hyperlinks to existing information into the plan:
5. Leverage a project management tool like Microsoft Project 2002
The next section of the article provides a fundamental outline of the upgrade project phases for the SQL Server 2000 project which can serve as a starting point for the project plan. (For additional IT project management information, be on the lookout for an eBook from Jeremy Kadlec in the summer of 2003.)
Upgrade project phases
In order to properly address the SQL Server 2000 upgrade, it is necessary to set up a project plan with the necessary components for your environment. Below outlines a set of recommendations for the upgrade project plan, which can be further broken down with dates and time frames.
- Setup a comprehensive project plan with tasks granular enough to assign to a single individual on the project
- Hold a kick-off meeting to properly start the project
- Determine upgrade date and time with the associated downtime
- Determine the upgrade freeze and thaw dates for testing purposes
- Setup roles and responsibilities in order to establish project accountability
- Submit a change management request to notify key players in the corporation
- Determine SQL Server hardware needs via capacity planning (disks, memory, processors, etc.)
Design and Development
- Build an upgrade checklist to determine time frames and proposed processes to complete the upgrade
- Test the upgrade checklist and verify the results
- Communicate the process to the team especially in terms of configurations
Functional, Integration, End User and Load Testing
- Set up a test environment to include the necessary SQL, middle tier and web servers as well as a client PC; these machines should be configured as closely as possible to the production environment to ensure project success
- Implement a Load Testing Tool
- Build test plans for functional, integration, end user and load testing
- Complete functional, integration, end user and load testing
- Manage the testing exceptions until completion for the upgrade
- Determine if front-end or T-SQL code must be applied prior to or following the upgrade in order to determine the code roll-out coordination
- Update previously submitted change management request based on testing results
Production Hardware Setup
- Server assembly as well as windows and SQL Server 2000 installation
- Configure, setup and burn-in the new hardware
- GO | NO GO meeting
- Execute the upgrade checklist
- Monitor SQL Server performance
In the coming weeks, the next article in the series will detail the Critical Upgrade Decisions related to ANSI NULLS, Quoted Identifiers, etc as well as a valuable Redundant Upgrade Architecture for the project. These decisions can make or break the upgrade and require fore thought at the inception of the project. Further, find out how to prevent management's biggest fear during systems upgrades with a redundant architecture. Be sure to check it out!
- Successful Project Management for Database Administrators by Jeremy Kadlec. November 2002. SQL PASS 2002 Seattle Community Summit
- SQL Server 2000 Books Online. Microsoft Corp. Published January 2003.
- Upgrading to SQL Server 2000. Microsoft Corp. Published September 2000.
Published 2.25.2003. Jeremy Kadlec. Edgewood Solutions. All rights reserved 2003
About the Author
Jeremy Kadlec serves as the Principal Database Engineer at Edgewood Solutions. He has been building technical solutions for the last five years primarily focused on SQL Server 6.5, 7.0 and 2000. Mr. Kadlec has set and implemented a number of SQL Server standards to include upgrades to SQL Server 2000, EMC migrations, unattended installations, hardware/software configurations, disaster recovery, database security, server maintenance and system performance tuning. Mr. Kadlec has been able to implement these solutions as a Project Manager and Lead DBA by standardizing a project management methodology that can be used across projects and passed on to new team members.
For More Information
- Feedback: E-mail the editor with your thoughts about this tip.
- More tips: Hundreds of free SQL Server tips and scripts.
- Tip contest: Have a SQL Server tip to offer your fellow DBAs and developers? The best tips submitted will receive a cool prize -- submit your tip today!
- Ask the Experts: Our SQL, database design, Oracle, SQL Server, DB2, metadata, and data warehousing gurus are waiting to answer your toughest questions.
- Forums: Ask your technical SQL Server questions--or help out your peers by answering them--in our active forums.
- Best Web Links: SQL Server tips, tutorials, and scripts from around the Web.