title: SQL Server NText field limited to 43,679 characters?
body: <p>I working with SQL Server data base in order to store very long Unicode string. The field is from type 'ntext', which theoretically should be limit to 2^30 Unicode characters. </p>
  
  <p>From <a href="https://msdn.microsoft.com/en-us/library/ms187993.aspx" rel="noreferrer">MSDN documentation</a>:</p>
  
  <blockquote>
    <p>ntext</p>
    
    <p>Variable-length Unicode data with a maximum string length of 2^30 - 1 (1,073,741,823) bytes. Storage size, in bytes, is two times the string length that is entered. The ISO synonym for ntext is national
    text.</p>
  </blockquote>
  
  <p><em>I'm made this test:</em></p>
  
  <ol>
  <li><p>Generate 50,000 characters string.</p></li>
  <li><p>Run an Update SQL statement</p>
  
  <p>UPDATE [table]
  SET Response='... 50,000 character string...'
  WHERE ID='593BCBC0-EC1E-4850-93B0-3A9A9EB83123'</p></li>
  <li><p>Check the result - what actually stored in the field at the end.</p></li>
  </ol>
  
  <p>The result was that the field [Response] contain <strong>only 43,679 characters</strong>. All the characters at the end of the string was thrown out. </p>
  
  <p>Why this happens? How I can fix this?</p>
  
  <p>If this is really the capacity limit of this data type (ntext), which another data type can store longer Unicode string?</p>