I have had a similar issue with Azure Data Factory data flow created parquet files being read via Synapse. In my case it was with a DATE data type, rather than DATETIME2, but I think the same issue could apply.
If in ADF you insert a date as toDate('0001-01-01'), what actually gets written to the parquet file is the date '0000-12-30'. Since there was no year 0 (we went straight from year 1 BC to year 1 AD) this is not a real date. Whether or not this can be read depends on the tool. ADF data flows will happily read it (as '0000-12-30') but Synapse throws "Inserting value to batch for column type DATE failed".
If however when writing it you use toDate('0001-01-03'), this gets written to the parquet file as '0001-01-01' and Synapse will read it just fine.
The reason for this error is that ADF is not correctly handling the transition from the Julian to the Gregorian calender from 1582 onwards (https://en.wikipedia.org/wiki/Gregorian_calendar). In my opinion this is a bug. The most logical way to store a dateless time is 0001-01-01 HH:mm:ss, so support for this would be greatly appreciated. You will find that toDate('1582-01-01') -> '1582-01-11', but toDate('1583-01-01') -> '1583-01-01'
Joe