The ColdFusion 10 documentation on Updating Your Database has a section on Database-related enhancements in ColdFusion 10.  That page mentions that there is now support for CF_SQL_NVARCHAR among others, but with no details about them.  Additionally, the cfqueryparam documentation hasn't been updated to include their existence.
The ColdFusion 9 documentation for cfqueryparam mentions that CF_SQL_VARCHAR maps to varchar in MSSQL.  This is true unless the ColdFusion Administrator datasource settings has the String Format setting enabled.  In which case CF_SQL_VARCHAR maps to nvarchar.  This poorly documented feature is a hack which can cause performance issues within ColdFusion.
So it's great that they have introduced CF_SQL_NVARCHAR, but it would be good to understand how it works.  It is simply an alias for CF_SQL_VARCHAR making it pointless?  Does it always send strings as nvarchar?  If so, does CF_SQL_VARCHAR always send in varchar?
I would hope that for backward compatibility's sake it is implemented as such:
If String Format is enabled CF_SQL_VARCHAR and CF_SQL_NVARCHAR both map to nvarchar.
If String Format is disabled then CF_SQL_VARCHAR maps to varchar and CF_SQL_NVARCHAR maps to nvarchar.
This would mean any pre-CF10 sites can move to CF10 and work, with the same performance considerations pre-CF10.
New sites, or sites that rewrite all queries to match CF_SQL_VARCHAR and CF_SQL_NVARCHAR with the database design will not get the performance penalty that is unavoidable pre-CF10.
Can anyone confirm if this is the case; even better if with something official?
 
     
    