There is a switch case at class StandardDialectResolver for MS SQL Server that validates major versions from 8 to 10, but the 2012 version of SQL Server returns 11 as major version, so the wrong dialect is selected.
Solution:
case 10:
case 11:
return new SQLServer2008Dialect();