Вы не читаете-инкремент-обновление, это не удастся, независимо от того, что вы пытаетесь.Всегда обновляйте и используйте предложение OUTPUT, указав новое значение:
update TSMChangeTimeStamp
set MaxChangeTimeStamp += 1
output inserted.MaxChangeTimeStamp;
Вы можете захватить выходное значение, если оно вам нужно в T-SQL.Но хотя это будет делать то, что вы просите, вы определенно не хотите делать это, особенно в системе, которая достаточно высокого класса для запуска DC Edition.Генерация следующей временной метки поместит X-блокировку в ресурс временной метки и, таким образом, не позволит каждой другой транзакции генерировать новую временную метку до тех пор, пока текущая транзакция не завершится.Вы добиваетесь полной сериализации работы, когда в данный момент активна только одна транзакция.Спектакль опустится до дна пропасти.
Вы должны пересмотреть свое требование и предложить более подходящее.Поскольку сейчас ваше требование также можно выразить так: «Моя система слишком быстрая, как я могу сделать это действительно очень медленно?».