doublechecking: no db-wide 'unicode switch' for sql server in the foreseeable future, i.e. like Orac

Posted by user72150 on Stack Overflow See other posts from Stack Overflow or by user72150
Published on 2010-03-18T14:52:02Z Indexed on 2010/03/18 16:01 UTC
Read the original article Hit count: 472

Hi all,

I believe I know the answer to this question, but wanted to confirm:

Question

Does Sql server (or will it in the foreseeable future), offer a database-wide "unicode switch" which says "store all characters in unicode (UTF-16, UCS-2, etc)", i.e. like Oracle.

The Context

Our application has provided "CJK" (Chinese-Japanese-Korean) support for years--using Oracle as the db store. Recently folks have been asking for the same support in sql server.

We store our db schema definition in xml and generate the vendor-specific definitions (oracle, sql server) using vendor-specific xsl. We can make the change easily.

The problem is for upgrades. Generated scripts would need to change the column types for 100+ columns from varchar to nvarchar, varchar(max) to nvarchar(max), etc. These changes require dropping and recreating indexes and foreign keys if the any indexes/fk's exist on the column. Non-trivial. Risky.

DB-wide character encodings for us would eliminate programming changes. (I.e. we would not to change the column types from varchar to nvarchar; sql server would correctly store unicode data in varchar columns).

I had thought that eventually sql server would "see the light" and allow storing unicode in varchar/clob columns. Evidently not yet.

Recap

So just to triple check: does mssql offer a database-wide switch for character encoding? Will it in SQL2008R3? or 2010?

thanks,

bill

© Stack Overflow or respective owner

Related posts about sql-server-2008

Related posts about unicode