Solved

Upgrade/Downgrade SQL Server Compatability Level

Posted on 2015-01-29
6
159 Views
Last Modified: 2015-01-30
We have an old app that is running on SQL Server 2005 and the database is set to compatibility level 80 (SQL 2000).  Would like to change to level 90 (SQL 2005).  If problems surface, can we simply change back to level 80? (assuming we don't make use of any new features).  Can the compatibility level be changed back and forth until all problems are worked out?  The database will stay on the same server that is running 2005 binaries.
0
Comment
Question by:ralicea
  • 2
  • 2
  • 2
6 Comments
 
LVL 77

Assisted Solution

by:arnold
arnold earned 200 total points
ID: 40578370
Yes, the compatibility mode alters how the database is accessed on the same server,
properties of DB, options.
The DB is already in sql 2005 schema.
Compatibility alters which "features" are available.


Why not use a separate test environment where you can weed out the issues?

Let me tell you that while making this change will likely have minimal impact if at all, any issue will be blamed on this change.

i.e. you tell someone you do X on system A.  Any issues that come up with system A will be referred to you to fix given the presumption that since you did X, your change is the cause for the issue.
0
 

Author Comment

by:ralicea
ID: 40578381
We have a test environment and will test as best as possible.  Just want to be sure that if we do miss something and the level is changed in production, we can "downgrade" the compatibility level to solve the immediate problem.
0
 
LVL 77

Expert Comment

by:arnold
ID: 40578414
The effect of comaptibility mode is similar to a four wheel drive vehicle that has a drive train selector (front or rear, front and rear low, front and rear hi)
The action deals with altering DB so if it is an active DB, it might have a slight impact.

certain features available in sql 2005 mode, are not available in sql 2000 compatibility mode.
https://msdn.microsoft.com/en-us/library/ms191137%28v=sql.90%29.aspx

My suggestion, is to test in your test environment as though there is no going back.
0
What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

 
LVL 46

Expert Comment

by:Vitor Montalvão
ID: 40579254
When you migrated the database from MSSQL 2000 to 2005 you didn't run the upgrade advisor first?
After changing the compatibility level to 90 you need to run the following command:
DBCC CHECKDB ('DatabaseNameHere' ) WITH ALL_ERRORMSGS,NO_INFOMSGS, DATA_PURITY

Open in new window

And yes, you can set back the compatibility level to 80.
0
 

Author Comment

by:ralicea
ID: 40579781
I inherited the database and application so I don't know if upgrade adviser was run prior.  What I have is SQL 2005 binaries running a database in 2000 compatibility.  I've searched the code for known problems and believe I've found and corrected them.  I'm getting ready to change the comparability mode but want to fully understand the ramifications and roll back options.  I want to be certain I can simply change the compatibility mode back if an unforeseen problem arises or will I have to do a restore and reapply data changes.
0
 
LVL 46

Accepted Solution

by:
Vitor Montalvão earned 300 total points
ID: 40579797
I've searched the code for known problems and believe I've found and corrected them.
Good. It's one of the things the upgrade advisor does but it can only check the code inside SQL Server (SP's, functions, triggers,...).

want to be certain I can simply change the compatibility mode back if an unforeseen problem arises or will I have to do a restore and reapply data changes.
Yes, you can set back the compatibility mode but having a backup ready to be restored is always wise.
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
why does some in the xx field return as null?  Case statement 2 20
SQL Login 17 37
What is format f12.8 for a CSV file 6 36
SQL Server stored proc 2 10
Use this article to create a batch file to backup a Microsoft SQL Server database to a Windows folder.  The folder can be on the local hard drive or on a network share.  This batch file will query the SQL server to get the current date & time and wi…
For both online and offline retail, the cross-channel business is the most recent pattern in the B2C trade space.
Using examples as well as descriptions, and references to Books Online, show the documentation available for date manipulation functions and by using a select few of these functions, show how date based data can be manipulated with these functions.
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

948 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

24 Experts available now in Live!

Get 1:1 Help Now