我想在不更改Rowversion
( timestamp
) 列值的情况下运行以下命令。我想在 SQL Server 2008 R2 和 SQL Server CE 4.0 上实现这一点。
ALTER TABLE MyTable
ALTER COLUMN TextColumn nvarchar(4000) --original size 2000
中的列MyTable
Version rowversion NOT NULL
TextColumn nvarchar(2000) NOT NULL
中没有数据MyTable
。TextColumn
通过运行此命令进行更改,仍然rowversion
会更新所有值,这绝对不是预期的行为。
这是可能的还是有任何解决方法?
编辑:
为了更清楚,我应该补充一点,我的目的是在同步环境中分发数据库结构更新,其中服务器是 SQL Server 2008 R2,同步客户端是 SQL CE 4.0。
编辑 2:此问题仅存在于 SQL Compact 上。在普通 SQL Server 上,它按预期工作。
编辑 3:作为 Microsoft Connect 上的错误填充: https ://connect.microsoft.com/SQLServer/feedback/details/816991/unexpected-sql-ce-4-0-rowversion-value-behavior-with-alter-column