August 10, 2010 at 6:37 am
I have a database that I would like to upgrade from SQL Server 2000 to 2008. The concern I have is that there are about 10 tables in the current 2000 database that are over the 8K limit. For example, one has 10 VARCHAR(20000) fields. What I'm wondering is how this is dealt with in 2008? Ideally I would like to change these data types to get under the 8K limit but don't know if I need to do this before, or after the upgrade.
August 10, 2010 at 7:29 am
Might I suggest the SQL Server 2008 Upgrade Technical Reference Guide?
You probably need to convert those to varchar(max) first.
Don't forget to run the SQL 2008 upgrade advisor - it will tell you what to do with those.
Wayne
Microsoft Certified Master: SQL Server 2008
Author - SQL Server T-SQL Recipes
August 10, 2010 at 8:02 am
I'm not sure what you mean. 10 varchar(2000) in one table still wouldn't have more than 8k in the row since that's a 2000 limitation. You can convert to varchar(max) once you have completed the upgrade.
I'd run the Upgrade Advisor as Wayne mentioned.
August 10, 2010 at 8:07 am
Thanks for the link it will give me some good reading before jumping into this project.
Yes that's one of the reasons I want move off of SQL Server 2000, becuase I am actually seeing some data truncation in the tables that exceed the 8K limit. I was more concerned that the upgrade to 2008 somehow wouldn't accept these table definitions as is. My plan is to definitly change the data types to VARCHAR(MAX) as soon as I have the DB on the 2K8 servers. I will just add to my own defence that this is a system that I just inherited at a job I just started.
August 10, 2010 at 8:11 am
The same functionality, AFAIK, continues in SQL 2008. If you have those fields and insert too much data, it gets truncated.
We understand your situation. I think most of us have run into that before.
Viewing 5 posts - 1 through 4 (of 4 total)
You must be logged in to reply to this topic. Login to reply