Cannot create a row of size XXXX which is greater than the allowable maximum of 8060.

  • Hey all,

    I understand that SQL2000 has a row limitation of 8060, but what I don't understand is how are system tables allowed to have more than 8060?

    For example ... SELECT * INTO test FROM syscomments

    Cannot create a row of size 9008 which is greater than the allowable maximum of 8060.

    I'm simply trying to populate a test table from a system table and it will not allow for it. How do the system tables pull it off? I've scripted out the table, recreated as appropriate and tried to insert into, same error.

    Thoughts?

  • Never seen that, but if they get around it, I can think of two things:

    1. They have linkages between rows, so I know long procs sometimes have two rows in syscomments.

    2. The SELECT INTO doesn't move the text columns properly and they're cast into varchars for some reason.

    3. hidden system trick.

    Bottom line is there's no way to create a row larger without using TEXT.

  • Yeah I figured as much, but this one just baffled me ...

    After looking at how they created the system table, I was able to recreate it and repopulate it just the same.

    Thanks!

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply