• I have upgraded/migrated at least 300 databases from SQL 2000 to SQL 2005 and SQL 2005 to SQL2012 and never experienced the issue that you mentioned.

    My technique is to take a backup of the older version database and restore it to the new version of sql server. I then change the compatibility level to the new level and update the stats.

    We've never had an issue with data types changing. I'm not sure how they could change when performing a database restore.

    It almost seems as though SSIS or the import/export wizard was used in your case and not a restore but you said you performed a database restore. The Unicode data types are typically <default> for many of the import/export tables if you are allowing the wizard to create the tables.

    That's a very interesting problem. Sorry I can't really help.

    Steve