Don't ignore leinad31's link - it's got good info.

The 8000 byte limit is related to physical disk i/o of the sql engine - basically that's the max page size.

It's probably best to put a field with your varbinary(max) datatype into a table with very few columns - even if it's related to the PK of another table - resist putting a field like this into that table. Put it in a related sister table with the same PK.

We store photos of kids in a school district in a StuPhoto_T table that has just the PK of the student id and the single other field of the photo's binary data (actually we store the original filename and the size in bytes of the binary field as well)