既存のテーブルをテンポラル テーブルに変換したいのですが、2 つの計算列 (ユーザー定義関数) があります。
以下のスクリプトを使用して、テーブルに 3 つの列を既に追加しましたが、成功しました。
Alter Table Trips
Add StartTime DateTime2 (2) GENERATED ALWAYS AS ROW START HIDDEN
constraint df_StartTime default DateAdd(second, -1, SYSUTCDATETIME()),
EndTime DateTime2 (2) GENERATED ALWAYS AS ROW END HIDDEN
constraint df_EndTime default '9999.12.31 23:59:59.99',
Period For System_Time (StartTime, EndTime)
Go
しかし、以下のスクリプトを実行しようとすると
Alter Table Trips
SET(SYSTEM_VERSIONING = ON (HISTORY_TABLE = dbo.Trips_History))
Go
以下のエラーが表示されます
Msg 13585, Level 16, State 1, Line 19
Computed column is defined with a user-defined function which is not allowed with system-versioned table 'AccessBetaX.dbo.Trips' because it performs user or system data access, or is assumed to perform this access. A function is assumed by default to perform data access if it is not schemabound.
何か重要なことを見逃しましたか?