Sql server 2008 r2 SQL Server更改跟踪:如何手动应用更改?

Sql server 2008 r2 SQL Server更改跟踪:如何手动应用更改?,sql-server-2008-r2,change-tracking,Sql Server 2008 R2,Change Tracking,我有一个数据库,所有表的更改跟踪都打开了,大约有200个表 如何告诉SQL Server我要应用已跟踪的更改 关闭更改跟踪然后再打开的选项不合适-它花费了太多时间。我使用的是2008 R2,我说的是更改跟踪,而不是CDC:更改跟踪为您提供了所需的信息-插入、删除、更新了哪些行-但我看不到任何自动方法将所有这些更改应用于目标数据库。您可以获得所需的信息,但同步的编写取决于您code@marc_s:不幸的是,自动方式存在,它由数据库的保留期定义,并完全按照我的要求执行:清理更改跟踪表。。。但我需要一

我有一个数据库,所有表的更改跟踪都打开了,大约有200个表

如何告诉SQL Server我要应用已跟踪的更改


关闭更改跟踪然后再打开的选项不合适-它花费了太多时间。

我使用的是2008 R2,我说的是更改跟踪,而不是CDC:更改跟踪为您提供了所需的信息-插入、删除、更新了哪些行-但我看不到任何自动方法将所有这些更改应用于目标数据库。您可以获得所需的信息,但同步的编写取决于您code@marc_s:不幸的是,自动方式存在,它由数据库的保留期定义,并完全按照我的要求执行:清理更改跟踪表。。。但我需要一种手动执行相同操作的方法,如.NET DataSet.ApplyChanges方法。据我所知,保留只会清除更改跟踪表中的条目,而不会将这些条目应用于任何目标数据库。那么你在寻找什么:将变更跟踪显示的变更实际应用到第二个数据库,还是仅仅清除变更跟踪表?@marc_,对不起,我的问题不清楚。我的意思是根据.NET DataSet.AcceptChanges或实体框架ObjectContext.AcceptAllChanges方法应用更改。它们清除更改跟踪信息并将其条目状态重置为未更改。事实上,我需要SQLServer变更跟踪系统的相同功能:任何命令,它将清除变更跟踪表并将行状态重置为未更改,而不删除跟踪表和其他跟踪内容。