Well, if you have a couple varchar(8000) fields in the table, then you have a problem just waiting to happen.
Take a look at this code.
Code:
Create Table #Temp (id int, Col1 varchar(8000), col2 varchar(8000))
Insert into #Temp(id, col1) Values(1, replicate('A', 8000))
Update #Temp Set Col2 = Replicate('B', 8000)
Drop Table #Temp
You will get this message:
[tt][blue]
Warning: The table '#Temp' has been created but its maximum row size (16029) exceeds the maximum number of bytes per row (8060). INSERT or UPDATE of a row in this table will fail if the resulting row length exceeds 8060 bytes.
(1 row(s) affected)
Warning: The table '#Temp' has been created but its maximum row size (16029) exceeds the maximum number of bytes per row (8060). INSERT or UPDATE of a row in this table will fail if the resulting row length exceeds 8060 bytes.
Server: Msg 511, Level 16, State 1, Line 5
Cannot create a row of size 16017 which is greater than the allowable maximum of 8060.
The statement has been terminated.
[/blue][/tt]
So, you NEED to do something about this. What you actually do depends on your data, so it's a little difficult to say. If it were me, I would probably create additional tables to store the data. Each table would have a 1 to 1 relationship with the main table. It would have an ID column (foreign key) and a data column (varchar 8000). The reason I would do this is because I find it handy to use the string functions within SQL Server.
To see what I mean, open query analyzer. Make sure the 'object browser' is visible. If it's not, press F8 on your keyboard. In the object browser, you will see each of your databases. Below the list of database, you will see common objects. Take a look at the 'string functions' (they work on varchar fields). Then, take a look at 'text and image functions' (they work on text fields). If you think it would be handy to use the string functions on this data, then you'll want to keep them in varchar fields.
Really, though, it's up to you. Good luck.
-George
Strong and bitter words indicate a weak cause. - Fortune cookie wisdom