Я пытаюсь написать SQL-запрос, который отслеживает изменения в таблице с помощью CHANGE TRACKING. Мой запрос работает до такой степени, что я хочу, чтобы он также отслеживал, какие столбцы были изменены.Изменение отслеживания в SQL: значение NULL при использовании COLUMNPROPERY
Я получаю значение null на COLUMNPROPERTY, которое, как я подозреваю, означает, что у меня нет правильных разрешений. Это первый случай, когда я попытался выполнить такой тип запросов, поэтому буду признателен за любые рекомендации о том, где я ошибся.
Большое спасибо
Джоди
SELECT
CT.TableCalendar,
P.txtDescription, CHANGE_TRACKING_IS_COLUMN_IN_MASK (COLUMNPROPERTY(OBJECT_ID ('P'), 'txtDescription', 'ColumnID'), CT.SYS_CHANGE_COLUMNS) changeDescription,
P.txtStartDate,
P.txtStartTime,
P.txtEndDate,
P.txtEndTime,
P.txtLocation,
P.intAllDayEvent,
P.intCategory,
P.intSubcategory,
P.txtCreatedBy,
CT.SYS_CHANGE_OPERATION,
CT.SYS_CHANGE_VERSION,
CT.SYS_CHANGE_COLUMNS,
CT.SYS_CHANGE_CONTEXT,
U.txtFirstname,
U.txtSurname
FROM
[dbo].[TableCalendar] AS P
RIGHT OUTER JOIN CHANGETABLE(CHANGES [dbo].[TableCalendar], @last_sync_version) AS CT ON P.TableCalendarID = CT.TableCalendarID
INNER JOIN [dbo].[TableUsers] AS U ON [txtCreatedBy] = U.txtUserCode