2012-01-13 12 views

答えて

0

これは決して使用しませんでしたが、MSDN docから私は言うでしょう:はい!

最初のDBを用意:

ALTER DATABASE [yourdb] SET ALLOW_SNAPSHOT_ISOLATION ON 

ALTER DATABASE [yourdb] 
SET CHANGE_TRACKING = ON 
(CHANGE_RETENTION = 2 DAYS, AUTO_CLEANUP = ON) 

が今必要なテーブル(複数可)に変更追跡を有効にする:変更

ALTER TABLE [yourdb].[yourschema].[yourtable] 
ENABLE CHANGE_TRACKING 

クエリ:

IF @sync_initialized = 0 
    SELECT * 
    FROM [yourschema].[yourtable] LEFT OUTER JOIN 
    CHANGETABLE(CHANGES [yourschema].[yourtable], @sync_last_received_anchor) CT 
    ON CT.[yourkey] = [yourschema].[yourtable].[yourkey] 
ELSE 
BEGIN 
    SELECT * 
    FROM Sales.Customer 
    JOIN CHANGETABLE(CHANGES [yourschema].[yourtable], @sync_last_received_anchor) CT 
    ON CT.[yourkey] = [yourschema].[yourtable].[yourkey] 
    WHERE (CT.SYS_CHANGE_OPERATION = 'I' 
    AND CT.SYS_CHANGE_CREATION_VERSION 
    <= @sync_new_received_anchor) 
END 
関連する問題