Thanks Elizabeth but a couple of words of warning!
Firstly this is not supported. We can't help with any problems a customer has later on that turns out to be a result of manual changing of the database.
Saying that though it's pretty safe on a user-generated attribute because the system won't care about changes you've made.
The other issue is that the scripts posted above are missing a step. The md_database_column table also needs updating to fully change the metadata and make the attribute totally upgrade safe. On the md_attribute_type table there is an md_database_column_guid column, which links to md_guid on the md_database_column table. You must find the relevant row for your attribute and change the md_column_size to match the max_length of the attribute table (or double the size for unicode attributes).
Finally - NEVER attempt to change a system attribute's length. Again its unsupported but it will also stop you being able to make further modifications to the object and upgrades will fail. The way to tell if an attribute is system or user-generated is that its Name property will start with an underscore if it is user-generated (ie. _Title instead of just Title).
Hi Stu - thanks very much.
Can you perhaps raise an enhancement request for this?