我正在尝试对数据库中的现有表启用系统版本控制。但是,我编写的代码不起作用。我正在使用 SQL Server 2016。
我得到的错误是
GENERATED(第 4 行)附近的语法不正确
另一个错误是
'SYSTEM_VERSIONING' 附近的语法不正确(第 9 行)
有人可以帮我解决我做错了什么吗?
USE Evergreen;
GO
ALTER TABLE dbo.tblApplication
ADD [TimeStart] DATETIME2
GENERATED ALWAYS AS ROW START NOT NULL
CONSTRAINT DFT_tblApplication_TimeStart DEFAULT GETDATE(),
[TimeEnd] DATETIME2
GENERATED ALWAYS AS ROW END NOT NULL
CONSTRAINT DFT_tblApplication_TimeEnd DEFAULT CONVERT(DATETIME2, '9999-12-31 23:59:59.9999999'),
PERIOD FOR SYSTEM_TIME ([TimeStart], [TimeEnd]);
ALTER TABLE dbo.tblApplication
DROP CONSTRAINT DFT_tblApplication_TimeStart, DFT_tblApplication_TimeEnd;
ALTER TABLE dbo.tblApplication
SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = dbo.tblApplication_History));