X-Received: by 2002:a0c:b5db:: with SMTP id o27mr4001491qvf.59.1547139606709; Thu, 10 Jan 2019 09:00:06 -0800 (PST) X-Received: by 2002:a0c:9955:: with SMTP id i21mr97125qvd.4.1547139606556; Thu, 10 Jan 2019 09:00:06 -0800 (PST) Path: csiph.com!feeder.erje.net!2.eu.feeder.erje.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!v55no3176558qtk.0!news-out.google.com!h3ni20299qtk.1!nntp.google.com!v55no3176552qtk.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: microsoft.public.sqlserver.programming Date: Thu, 10 Jan 2019 09:00:06 -0800 (PST) Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=163.202.51.13; posting-account=7H4ubAkAAAB4wp6rP4pr49Jfb0eQ9hoU NNTP-Posting-Host: 163.202.51.13 User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <70361b2e-d811-4fa3-942c-7bd5eeec01bb@googlegroups.com> Subject: Converting NTEXT to NVARCHAR(MAX) in a MSSQL 2016 database From: Andy Dufresne Injection-Date: Thu, 10 Jan 2019 17:00:06 +0000 Content-Type: text/plain; charset="UTF-8" Xref: csiph.com microsoft.public.sqlserver.programming:31344 I have a php web application that runs on a SQL Server 2016 database. The database has been upgraded over the years from SQL Server 2005 to SQL Server 2016. Being such an old database it still has some NTEXT columns in various tables. To convert those NTEXT columns to NVARCHAR(MAX) I ran this query on each table: alter table tablex alter column columnname nvarchar(max); where the 'columnname' column in the 'tablex' tab le was a NTEXT column. That seems to have worked fine on all the tables. Then I came across the following two articles, which seem to say the same thing: https://www.sqlservergeeks.com/sql-server-why-is-ntext-so-bad-to-give-a-pain/ http://geekswithblogs.net/johnsPerfBlog/archive/2008/04/16/ntext-vs-nvarcharmax-in-sql-2005.aspx They recommend running this query update tablex set columnname = columnname; after each of the abve alter table queries: alter table tablex alter column columnname nvarchar(max); Now those articles are quite old - and were referring to older versions of SQL Server. Do they still apply to SQL Server 2016? Is it still recommended that I run the above 'update tablex' statement after I run the 'alter table' statement?