У меня есть 62 таблицы, которые были настроены как системные/временные таблицы, за исключением того, что столбцы времени начала и окончания были настроены как datetime2(0)
, как показано ниже.
SysStartTime [datetime2](0) GENERATED ALWAYS AS ROW START NOT NULL,
SysEndTime [datetime2](0) GENERATED ALWAYS AS ROW END NOT NULL,
Из-за этого у нас есть записи в таблице истории, которые кажутся дублированными, потому что мы теряем необходимую точность, когда записи многократно изменялись нашей системой. Мне не удалось найти документацию по изменению этих двух столбцов, но я попробовал следующий код:
ALTER TABLE SystemVersionedTable
SET (SYSTEM_VERSIONING = OFF);
ALTER TABLE SystemVersionedTable
ALTER COLUMN SysStartTime DATETIME2(7);
ALTER TABLE SystemVersionedTable
ALTER COLUMN SysEndTime DATETIME2(7);
ALTER TABLE SystemVersionedTable
SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = History.dbo_SystemVersionedTable));
Тем не менее, я все еще получаю следующую ошибку:
Столбец периода «SysStartTime» в темпоральной таблице с системным управлением версиями не может быть изменен.
Есть ли способ изменить эти два столбца и установить для них значение datetime2(7)
?