Qual è il livello di compatibilità di quel database su cui stai correndo?
Verifica utilizzando
SELECT compatibility_level
FROM sys.databases
WHERE name = 'YourDatabaseNameHere'
DATETIME2
è stato introdotto in SQL Server 2008 - quindi se quel livello è inferiore a 100 (che è SQL Server 2008), allora DATETIME2
il tipo di dati non è ancora disponibile.
Se il database è stato aggiornato da un'istanza di SQL Server 2005, molto probabilmente il suo livello di compatibilità è ancora a 90 (SQL Server 2005) e quindi DATETIME2
il tipo di dati non è ancora disponibile.
Puoi aggiornare il livello di compatibilità del tuo database a valori più recenti utilizzando:
ALTER DATABASE YourDatabaseNameHere
SET COMPATIBILITY_LEVEL = 100;
dove level = 100
è SQL Server 2008/2008 R2 e level = 110
è SQL Server 2012