Comining from my question \"8078 bytes in 8060 B datapage (SQL Server)?\" where it was explained to me how to derive 8078 bytes of data per page in MS SQL Server.
<Inside the Storage Engine: Anatomy of a record
This is for SQL Server 2005
So, for one char(8000)
However, if you had 40 varchar(200) columns
Total = 8080 + 4 + 6 + 2 + 14 = 8106. WTF? You get a warning when you created this table
I would not get too hung up on it: this information has no practical day to day value
I'm not totally sure what you're asking, but if your question is "why is the maximum row length 8060 bytes and not some other number?", or "why does NVARCHAR have a maximum length of 8000 bytes?" then the short answer is, who knows? (And as gbn said, who cares?)
All MSSQL limits - data type sizes, maximum row size, columns per table, columns per index etc. - are just design decisions by Microsoft. I'm quite sure that there is a huge amount of engineering documentation behind the decisions, but most people don't have access to that information.
If you're interested in specific details of what the limits are, how row size is calculated etc. then reading the MSSQL documentation is the best place to start.