Sunteți pe pagina 1din 12

Upgrading from SQL Server 2000 to SQL Server 2008

SQL Server 2008 provides a trusted, productive, and intelligent data platform that enables you to run your most demanding mission-critical applications, reduce time and cost of development. While theoretically an upgrade to Microsoft SQL Server 2008 may seem trivial, one may run into unexpected issues or barriers if an appropriate level of planning is skipped. At the most fundamental level, a database must protect the data stored within it. SQL Server 2008 equips organizations with a highly secure, reliable, and scalable platform on which to run their missioncritical applications. New security tools like transparent data encryption, read-based auditing, and policy-based management allow organizations to control and protect data. Features like Resource Governor allow complete control over database load by allowing prioritization of all database activity. This allows organizations to fine-tune and scale the database with much more control than in the past. SQL Server 2008 enjoys a number of intelligent performance enhancements made throughout the technology stack, including enhancements within Analysis Services, Reporting Services, and Integration Services.

Feature Changes in SQL Server 2008


SQL Server 2008 contains improvements and additional features in nearly every area of the product. In fact, any one of these enhanced features can be a compelling case for upgrading, depending on the need for high availability, performance, and added functionality. Additionally, upgrading to the latest release of the product extends the Microsoft support life cycle to the maximum degree possible, in accordance with the software support policy.

Key Considerations in Upgrading from SQL Server 2000 to SQL Server 2008
Upgrading to SQL Server 2008 from SQL Server 2000 presents organizations that are undertaking this change with a number of things to consider. Organizations must decide what route to take in upgrading their SQL Server 2000 instances as well as evaluate how the upgrade will affect the functionality of their existing database applications and other SQL Server services on which their database workloads rely.

Upgrade Options
We have two approaches in place to upgrade our existing SQL Server 2000 databases to SQL Server 2008. In-place upgrade: uses the SQL Server 2008 Setup program to directly upgrade a SQL Server 2000 instance to SQL Server 2008. The older SQL Server instance is replaced. Side-by-side upgrade: performs operations to move all or data and other database components from SQL Server 2000 to a separate SQL Server 2008 instance

Few Advantages and disadvantages are underneath 1

SQL Server 2000 to SQL Server 2000 to SQL Server 2008 SQL Server 2008 (with SQL Server 2005 as (direct upgrade) interim step) In-Place Upgrade Advantages Single occurrence of database downtime Entire operation automated Advantages Automated Software release schedules can be coordinated with database upgrades Application changes can be addressed incrementally Disadvantages Administratively more intensive Rollback strategy potentially more complex Compatibility checks to be done twice Advantages

Disadvantages Existing applications may require significant modification to retain functionality Less control over upgrade process Rollback is complex Side-by-Side Upgrade Advantages More granular control over the upgrade process Original database left unchanged; allows for testing of new database Single occurrence of database downtime

More granular control over the upgrade process Software release schedules can be coordinated with database upgrades Original database left unchanged; allows for testing of new database Allows flexible integration of the updated database Potential for a single occurrence of database downtime Disadvantages Disadvantages Administratively more Administratively more intensive intensive Requires more hardware Requires more hardware resources resources

In-Place Upgrade Using an in-place upgrade approach, the SQL Server 2008 Setup program directly replaces a SQL Server 2000 instance with a new SQL Server 2008 instance on the same x86 or x64 platform; the upgraded instance of SQL Server 2000 is replaced by the new SQL Server 2008 instance. When the process is complete, the old SQL Server 2000 instance is removed from the server, with only retained backups able to restore it to its previous state.

Side-by-Side Upgrade On the contrary, in a side-by-side upgrade, database structure and component data are transferred from the SQL Server 2000 instance to a new, distinct SQL Server 2008 instance; the new SQL Server 2008 instance runs alongside the legacy SQL Server 2000 either by using two servers or a single server.

You may also use the side-by-side method to upgrade to SQL Server 2008 on a single server

Regardless of whether a side-by-side upgrade is performed using one or two servers, data and other database objects must be transferred using other utilities. Objects requiring other transfer methods include: Data files Database objects SSAS cubes Configuration settings Security settings SQL Server Agent jobs SSIS packages

A side-by-side upgrade to a new server offers the most flexibility and control: organizations can take advantage of a new and potentially more powerful server and platform, but the legacy server remains as a fallback if they encounter compatibility issues. This method allows for rigorous testing of the new database before transitioning it into the production environment. This approach can also be combined with the hardware refresh cycle of the organization and rebuild servers with the latest Operating system and SQL editions taking advantage of the updated technology. The downside of a side-by-side upgrade is that it needs more manual interventions.

Comparing In-Place and Side-by-side Upgrade Methods


Process Number of resulting instances Number of physical servers involved Data file transfer SQL Server instance configuration Supporting tool In-Place Upgrade One only One Automatic Automatic SQL Server Setup Side-by-Side Upgrade Two One or more Manual Manual Various data transfer methods

Upgrade Strategy outline Practicality, disk space, new server hardware, and high availability are all factors that will determine which upgrade strategy to use Choosing an Upgrade Strategy The upgrade method available for your specific needs depends on various factors, including the components you want to upgrade and the editions you want to use. Components: A certain upgrade strategy might not be possible because the component does not support it. For example, there is no in-place upgrade for SSIS from SQL Server 2000; Microsoft recommends that you upgrade most SQL Server 2000 SSAS components. Versions and Editions: The in-place upgrade strategy does not support all paths between versions and editions. o For example, to upgrade a SQL Server 2000 Enterprise Edition instance to SQL Server 2008 Standard Edition, you must perform a side-by-side upgrade because SQL Server Setup does not support an in-place upgrade path. o

Partial upgrading / upgrading over time : To transition only a few databases on a server to SQL Server 2008 and leave the rest on the legacy version, you must use a side-by-side upgrade. Effect on applications: Based on Customer requirement and minimal disturbance to the existing applications and users, an in-place upgrade approach may be suitable. Availability: Both an in-place upgrade and a side-by-side upgrade require that the databases be unavailable for a certain amount of time. The amount of downtime required depends 5

primarily on the size of the data sets. At first, it might look that an in-place upgrade would be faster than a side-by-side upgrade because the data is not transferred from one server to another or from one physical location to another physical location if it is in between two instances on same physical server box. However, an in-place upgrade also requires time for the installation of SQL Server 2008. In a side-by-side upgrade, SQL Server 2008 is already installed on another instance. If the data transfer proceeds quickly and few changes are needed on the new instance, a side-by-side upgrade might be faster than an in-place upgrade.

Rollback: For many database systems in production, it is impracticable to justify a change without a rollback strategy in case the results are not acceptable. The side-by-side upgrade strategy supports rollback at the time of acceptance testing because the legacy instance can still be made available. However, after users update the databases in the new instance, rollback might no longer be feasible.

Some of these factors alone may say one strategy over another. Regardless of which method is employed, a successful upgrade to SQL Server 2008 should be smooth and trouble free. To achieve that smooth transition, you must devote sufficient planning for the upgrade and match the complexity of your database application. Otherwise, you risk costly and stressful errors and upgrade problems. Part of the upgrade planning process should also include consideration of how new SQL Server 2008 components can be used to enhance your particular implementation. Significant improvements have been made in the areas of relational database operations, specifically higher availability, database engine enhancements, and security and auditing. Analysis Services, Data Mining, Integration Services, and Reporting Services have all been improved. Like all IT projects, planning for every emergency and then testing your plan gives you confidence that you will succeed. However, if you ignore the planning process, you increase the chances of running into difficulties that can disrupt and delay your upgrade.

ardless of your upgrade strategy, you should consider the functionality changes between SQL Server 2000 and SQL Server 2008some SQL Server 2000 features on which your applications rely may be discontinued in SQL Server 2008 or in future versions of SQL Server. Application compatibility testing is a good practice to identify and resolve potential issues that may arise after upgrading the database. A typical set of Application Compatibility Testing tasks should include the following: 8 Determine how much Application Compatibility Testing is appropriate. Ensure testing of all relational database management system (RDBMS) queries. Test databases with the current compatibility level. In the case of SQL Server 2008, it is level 10. Test application setup with SQL Server 2008.

Confirm that any third-party vendor software is certified on SQL Server 2008.

Minimizing Downtime Frequently when working with complex systems, or applications considered being mission critical, it is desirable to minimize the amount of time these systems are unavailable while performing upgrade tasks. There are several tasks that can be carried out in advance of the upgrade itself, resulting in a shorter maintenance event. The following tasks can be performed without any negative impact or outage to the databases that will be upgraded: Upgrade any databases older than SQL Server 2000 to an upgradable version (at least SQL Server 2008). Ensure installation requirements are met. Run the SQL Server Upgrade Advisor for a listing of potential issues that will prevent the setup routine from completing. Resolve each of the issues enumerated in the report. Preinstall the .NET Framework 3.5 Service Pack 1 (SP1). Preinstall SQL Server 2008 common components (Simple Network Access Controller, Management tools). Select efficient media and transfer methods (Fibre Channel, network-attached storage (NAS), storage area network (SAN), removable media) if performing a side-by-side upgrade. Use DBCC CHECKDB to examine the continuity of data as well as check for other anomalies. Back up data before, during, and after the upgrade procedure.

Application Backward Compatibility When planning for an upgrade to SQL Server 2008, you need to understand which features have been deprecated, discontinued, or changed in the new version. Being aware of these changes ahead of an upgrade can help prevent both performance problems and compatibility issues. The majority of SQL Server 2008 functionality and behavior is backward compatible with SQL Server 2000, 2005. The most serious backward-compatibility issues that can affect planning are those that can block an in-place upgrade and prevent an installation of SQL Server 2008. If the SQL Server 2008 Setup program detects these issues in the process of an in-place upgrade, it will abort the install, leaving the legacy instance unchanged. The SQL Server 2008 Upgrade Advisor is the best tool for finding these types of blocking issues ahead of time. Discontinued Features While the vast majority of backwards compatibility has been retained, it is possible that certain components of SQL Server 2000 have been discontinued. These features functioned in earlier versions of SQL Server but have been removed from SQL Server 2008. Although some references to these features might not block an in-place upgrade. Use the Upgrade Advisor to detect whether your application is using discontinued features.

Deprecated Features Features that are deprecated in SQL Server 2008 still operate the same as in the legacy versions, but they will be removed in a future version of SQL Server. Access to these features does not necessarily need to be removed to complete an upgrade, but you should eventually address them because they might cause problems with upgrades after SQL Server 2008. Upgrade process will not be blocked if we use deprecated features. Breaking Changes The best tool for discovering this type of issue is Upgrade Advisor, which analyzes a legacy system and reports on all potential breaking changes and how to resolve them. Behavior Changes Behavior changes may not visibly affect your database code or applications, but you need to be aware of them. Database operations that depend on features with modified behaviors may be adversely affected. SQL Server Upgrade Tools Microsoft and Microsoft partners offer many tools to help automate and better ensure the success of the upgrade process to SQL Server 2008. Each tool has its own function and timing, so it is best to become familiar with all the tools and then use those most appropriate for each phase of your upgrade. SQL Server 2008 Upgrade Advisor It is most important tool of the several tools commonly used for upgrade planning is SQL Server 2008 Upgrade Advisor. Upgrade Advisor can help ease the transition to SQL Server 2008 by detecting potential incompatibility issues in your legacy SQL Server 2000 instance. It analyzes objects and code within legacy instances and produces reports detailing upgrade issues. The resulting reports show detected issues and provide guidance about how to resolve the issues or work around them. Whether you choose an in-place upgrade or a side-by-side upgrade, run Upgrade Advisor on your legacy systems. You can run Upgrade Advisor from a local or remote server, and you can execute it from the Command Prompt window by using a configuration filename as an input parameter. Requirements The Upgrade Advisor requires the following to run: Windows Server 2008 or Windows Server 2003 Service Pack 2 (SP2). The .NET Framework 2.0 (the same version of the .NET Framework included with SQL Server 2008 and Microsoft Visual Studio 2005) Windows Installer 4.5 SQL Server 2000 Decision Support Objects (DSO) if analyzing SSAS (you can use SQL Server 2000 Setup to install DSO) SQL Server 2000 client components if analyzing Data Transformation Services (DTS) (you can use SQL Server 2000 Setup to install the SQL Server 2000 client components) 15 megabytes (MB) of available hard disk space

10

System Configuration Checker (SQL Server 2008 Setup During In-Place Upgrade) An in-place upgrade uses SQL Server 2008 Setup to directly upgrade a SQL Server 2000 instance. SQL Server 2008 installs required prerequisites such as the .NET Framework and Windows PowerShell 1.0. It also scans the target computer for minimum hardware and software requirements, as well as a compatible SQL Server edition. To verify it, the SQL Server 2008 Setup program contains a utility called the System Configuration Checker (SCC), which performs a scan of the computer in preparation for an install. The SCC will prevent an upgrade if the following conditions are not met: The target computer must be connected to the Internet while the .NET Framework security check validates a certificate. The SQL Server registry keys must be consistent. The CPU architecture of the installation program must match the CPU architecture of features intended for upgrading. If the computer is clustered, the cluster service must be online. Windows PowerShell must be installed. (Setup will do this automatically when installing prerequisites.) SQL Server Setup must be supported on this operating system platform. SCC checks whether a pending computer restart is required. The existing performance counter registry hive must be consistent. SCC checks that neither Microsoft SQL Server 7.0 nor SQL Server 7.0 OLAP Services is installed on the server. SQL Server 2008 is not supported running on the same server with SQL Server 7.0.

Additional checks that the SCC performs are: Database features that are not supported in the SQL Server version and edition to which you are upgrading. Restrictions on restarting of the SQL Server Service. SQL Server service is not set to Disabled. Analysis of whether or not the SQL Server version meets the upgrade matrix requirements. SASS upgrade validity. Evaluation of whether the edition of the selected instance of SQL Server is supported in a given scenario.

SQL Server Data Backup It will be important to assess the point at which it is sensible to perform backup operations and to assess which data should be backed up. User databases for example should be backed up after users are not using the system and before the upgrade process has started. Another point which may be considered for backup might be once the upgrade has been complete but before any system parameterization has occurred. One final backup should be made once the entire system is up and running but before users are permitted to start using the application. 11

When evaluating which upgrade strategy to use, take into account the risk that an in-place upgrade or side-by-side upgrade may need to be rolled back. The complexity and effort required to roll back is an important factor in choosing which method to use Rolling Back an Upgrade Rolling back an in-place upgrade can be complex and time-consuming. The new data file structures for SQL Server 2008 are not compatible with SQL Server 2000. To roll back an upgraded instance, you must uninstall the SQL Server 2008 instance, remove the data files and other components, reinstall the legacy SQL Server 2000 or SQL Server 2005 instance, and restore the original data. Having a backup or image of the initial system may enable you to shorten the time required to restore the original system on the server. One option is to copy the legacy data files from a backup location to the appropriate disk volume, and then integrate the SQL Server 2000 database in the previous environment. In a side-by-side upgrade, the new SQL Server 2008 instance resides alongside the legacy SQL Server instance, either on the same server or on a different server. As a result, the legacy instance remains available for a rollback scenario. However, after the upgraded SQL Server 2008 instance goes into production and starts capturing new data, there will come a point in time when enough new data has been captured that a rollback is no longer realistic. For an in-place upgrade, if you encounter problems after the system is in production, making adjustments or patches to the new application would be a better option than attempting a rollback. For a side-by-side upgrade, you could employ SSIS to transfer new data from the SQL Server 2008 instance to the legacy SQL Server 2000 to bring it current. Depending on the complexity of the data, this could be a difficult process.

Related Links
SQL Server 2008 Web site: http://www.microsoft.com/sqlserver/2008/en/us/default.aspx SQL Server 2008 Upgrade Technical Reference Guide: http://www.microsoft.com/downloads/details.aspx?FamilyID=3d5e96d9-0074-46c4-bd4fc3eb2abf4b66&DisplayLang=en MSDN SQL Server Developer Center http://msdn.microsoft.com/en-us/sqlserver/default.aspx TechNet SQL Server Tech Center http://technet.microsoft.com/en-us/sqlserver/default.aspx Upgrading to SQL Server 2008 : http://msdn.microsoft.com/en-us/library/bb677622.aspx 12

S-ar putea să vă placă și