моя фабрика данных Azure выдает ошибку «Невозможно обновить столбец метки времени» для каждой таблицы со столбцом TIMESTAMP.
ErrorCode=SqlOperationFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Операция с базой данных завершилась неудачно. Пожалуйста, найдите ошибку, чтобы получить более подробную информацию., Источник = Microsoft.DataTransfer.ClientLibrary, ''Type = System.Data.SqlClient.SqlException, Message = Невозможно обновить столбец метки времени., Источник = .Net SqlClient Data Provider, SqlErrorNumber = 272, Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=272,State=1,Message=Невозможно обновить столбец метки времени.,},],'
Я не хочу обновлять саму колонку. Но даже когда я удаляю его из сопоставления столбцов, он падает. Здесь он еще не удален:
Я понимаю, что TIMESTAMP - это не просто дата и время, и оно обновляется автоматически всякий раз, когда обновляется другой столбец в этой строке.
Тип данных timestamp представляет собой просто увеличивающееся число и не сохраняет дату или время.
Но как решить эту проблему?





Я попытался воспроизвести проблему и в своем ADF, если я удалю столбец метки времени из сопоставления конвейера, работающего без ошибок.
Но так как это не работает для вас, вот 2 варианта обходного пути:
Вариант 1 — в источнике используйте запрос и удалите из запроса столбец метки времени.
Вариант 2. Я попытался воспроизвести вашу ошибку и обнаружил, что она возникает только при обновлении. Если я использую вставку, она выполняется без ошибок (хотя она игнорирует вставку в столбце метки времени и увеличивает метку времени). Таким образом, вы можете попробовать вставить в промежуточную таблицу, а затем обновить в sql только те столбцы, которые вам нужны.