 <p>I am not an SQL Server expert but... Adding all the field length above I got <code>4,046</code> (I might have made few mistakes - it is too early here and I am still on the first coffee...). Now looking at <a href="https://msdn.microsoft.com/en-gb/library/ms186939.aspx" rel="nofollow">the manual</a>:</p> <blockquote> <p><strong>nchar</strong> [ ( n ) ] Fixed-length Unicode string data. n defines the string length and must be a value from 1 through 4,000. The storage size is two times n bytes. When the collation code page uses double-byte characters, the storage size is still n bytes. Depending on the string, the storage size of n bytes can be less than the value specified for n. The ISO synonyms for <strong>nchar</strong> are <strong>national char</strong> and <strong>national character</strong>..</p> </blockquote> <p>Note that storing each characters requires two bytes. Doing <code>2 * 4046</code> we have <code>8092</code> bytes line length! Also note that <code>nchar</code> is <em>fixed length</em> which I assume is allocated when an entry/row is created and thus it generates the error that you see, telling you that the line is too long. I would expect it to warn you at least when you create the table...</p> <h3>Solutions</h3> <ol> <li><p>normalize more: Split the table into two, for example have an <code>emploeeyAddress</code> table which can make sense if you later need home and work addresses for each employee</p></li> <li><p>Use <code>nvarchar</code> which is variable or dynamic length. The storage is still 2 bytes per character but only for the data inserted (not pre-allocated). You will hit the same limit if you try to populate all fields to their maximum length</p></li> </ol>