Cam*_*esa 4 t-sql sql-server change-tracking invalid-object-name sql-server-2012
我刚刚通过打开ALLOW_SNAPSHOT_ISOLATION来启用更改跟踪,执行此查询以打开数据库的更改跟踪
ALTER DATABASE [DatabaseName]
SET CHANGE_TRACKING = ON (CHANGE_RETENTION = 2 DAYS,AUTO_CLEANUP = ON)
Run Code Online (Sandbox Code Playgroud)
并最终将其启用
ALTER TABLE [TableName]
ENABLE CHANGE_TRACKING WITH (TRACK_COLUMNS_UPDATED = OFF)
Run Code Online (Sandbox Code Playgroud)
现在当我打电话时
SELECT *
FROM CHANGETABLE(CHANGES, 0)
Run Code Online (Sandbox Code Playgroud)
我收到此错误消息:
对象名称“CHANGETABLE”无效。
数据库版本是SQL Server 2012。如何CHANGETABLE无效以及如何使其工作?我认为它可以开箱即用,因为它是一个系统功能。它甚至在 SQL Server Management Studio 中突出显示。我在打开更改跟踪和调用之间修改了一些数据CHANGETABLE()。
正确的语法是
SELECT * FROM CHANGETABLE(CHANGES MyTableName,@last_version) as SomeAlias
Run Code Online (Sandbox Code Playgroud)
文档示例中显示了这一点:
DECLARE @last_sync_version bigint;
SET @last_sync_version = <value obtained from query>;
SELECT [Emp ID], SSN,
SYS_CHANGE_VERSION, SYS_CHANGE_OPERATION,
SYS_CHANGE_COLUMNS, SYS_CHANGE_CONTEXT
FROM CHANGETABLE (CHANGES Employees, @last_sync_version) AS C;
Run Code Online (Sandbox Code Playgroud)
忘记表名会导致Invalid object name 'CHANGETABLE'
忘记表别名会导致A table returned by the CHANGETABLE function must be aliased.
| 归档时间: |
|
| 查看次数: |
1708 次 |
| 最近记录: |