Jaká je úroveň kompatibility databáze, proti které narážíte?
Zkontrolujte pomocí
SELECT compatibility_level
FROM sys.databases
WHERE name = 'YourDatabaseNameHere'
DATETIME2
byl představen v SQL Server 2008 - takže pokud je tato úroveň nižší než 100 (což je SQL Server 2008), pak DATETIME2
datový typ zatím není k dispozici.
Pokud byla databáze upgradována z instance SQL Server 2005, s největší pravděpodobností je její úroveň kompatibility stále na 90 (SQL Server 2005) a tedy DATETIME2
datový typ zatím není k dispozici.
Úroveň kompatibility databáze můžete upgradovat na novější hodnoty pomocí:
ALTER DATABASE YourDatabaseNameHere
SET COMPATIBILITY_LEVEL = 100;
kde level = 100
je SQL Server 2008 / 2008 R2 a level = 110
je SQL Server 2012