We are upgrading our backend for asp.net web application from sql server 2005 to sql server 2008 or 2012. Can you please tell me what will be the impact on the application as a whole. What all changes we would have to do a complete successful transformation.
We are also considering in upgrading the front end as well from .Net framework 2.0 to .net framework 4.0 or 4.5. Will it be possible to do both migration together. Please let me know if you need any clarification in the question.
This is a very broad question of course, but I'll try to give some suggestions as to how I would approach it:
The first goal is to write some scripts (stored procedures) that test your 2005 database. Run all your existing sprocs, count records in tables, list indexes, etc. You do this so that you can run them in 2005 and then in 2008/2012 after you've finished migrating. It will help you prove the schema and the data made it over successfully.
Make a backup of the 2005 database and restore it in 2008/2012. You can do this in parallel to step 1 if you'd like. Simply start using it. Did everything import ok? Does it pass the eye test? Any errors you need to address?
After step 2, go ahead and make a copy of your current .NET 2.0 code and point it at the new instance from step 2. Does the application work? Again, does it pass the eye test?
Iterate with the application copy and the new database until you feel confident. If you have a test suite for your codebase obviously that will help you prove things are ok rather than using your intuition.
As far as going from .NET 2.0 to .NET 4.0/4.5 ...
The codebase should be backwards compatible. The only problem I could see is if other systems depend on your codebase. If you have a core library and want to upgrade it to 4.0 - and another system that is still on 2.0 needs that library, then you're in trouble.
I would definitely wait to upgrade the .NET version until after you finish the database migration. If things go wrong while migrating you want to know it isn't .NET. It will help you narrow down bugs and issues.
After having done many migrations like this some general advice:
Feel free to make new instances/systems and test, test, test. Don't try to work directly with existing code in source control or work with existing deployments/servers. Just copy it and test.
Write tools and scripts that help you automate system tests. You want to be able to know "Yes, as far as I know, the schema came over exactly the same."
Don't make your iterations too long. Iterate in small ways and then prove it worked and then move on.
Hope that helps.