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