Share via


DbServerSyncProvider.SelectNewAnchorCommand 属性

获取或设置一个 IDbCommand 对象,其中包含从服务器数据库返回新定位点值的查询或存储过程。定位点定义要在当前会话期间同步的变更集的上限。

命名空间: Microsoft.Synchronization.Data.Server
程序集: Microsoft.Synchronization.Data.Server(在 microsoft.synchronization.data.server.dll 中)

语法

声明
Public Property SelectNewAnchorCommand As IDbCommand
用法
Dim instance As DbServerSyncProvider
Dim value As IDbCommand

value = instance.SelectNewAnchorCommand

instance.SelectNewAnchorCommand = value
public IDbCommand SelectNewAnchorCommand { get; set; }
public:
property IDbCommand^ SelectNewAnchorCommand {
    IDbCommand^ get ();
    void set (IDbCommand^ value);
}
/** @property */
public IDbCommand get_SelectNewAnchorCommand ()

/** @property */
public void set_SelectNewAnchorCommand (IDbCommand value)
public function get SelectNewAnchorCommand () : IDbCommand

public function set SelectNewAnchorCommand (value : IDbCommand)

属性值

包含查询或存储过程的 IDbCommand 对象。

备注

在当前同步期间,新定位点命令会提供新的定位点值。将对在上次收到的定位点值之后和新收到的定位点值之前所做的变更进行同步。然后,新收到的定位点值将存储起来并用作下一次同步的最后收到的定位点值。有关更多信息,请参见跟踪服务器数据库中的变更中的“确定要下载到客户端的数据变更”一节。

示例

以下代码示例指定一条从服务器中检索新定位点值的命令。在本例中,MIN_ACTIVE_ROWVERSION 从 SQL Server 数据库返回一个时间戳值。(MIN_ACTIVE_ROWVERSION 是在 SQL Server 2005 Service Pack 2 中引入的。)使用时间戳值的原因是服务器数据库中的跟踪列包含时间戳值。如果跟踪列包含日期值,则可以使用某个函数(如 GETUTCDATE())而不是 MIN_ACTIVE_ROWVERSIONSyncSession 包含几个可在同步命令中使用的字符串常量。SyncNewReceivedAnchor 是这些常量之一。此外,还可以在查询中直接使用 @sync_new_received_anchor 文本。若要在完整示例上下文中查看此代码,请参见入门:客户端与服务器同步

SqlCommand selectNewAnchorCommand = new SqlCommand();
string newAnchorVariable = "@" + SyncSession.SyncNewReceivedAnchor;
selectNewAnchorCommand.CommandText = "SELECT " + newAnchorVariable + " = min_active_rowversion() - 1";
selectNewAnchorCommand.Parameters.Add(newAnchorVariable, SqlDbType.Timestamp);
selectNewAnchorCommand.Parameters[newAnchorVariable].Direction = ParameterDirection.Output;
selectNewAnchorCommand.Connection = serverConn;
this.SelectNewAnchorCommand = selectNewAnchorCommand;
Dim selectNewAnchorCommand As New SqlCommand()
Dim newAnchorVariable As String = "@" + SyncSession.SyncNewReceivedAnchor
selectNewAnchorCommand.CommandText = "SELECT " + newAnchorVariable + " = min_active_rowversion() - 1"
selectNewAnchorCommand.Parameters.Add(newAnchorVariable, SqlDbType.Timestamp)
selectNewAnchorCommand.Parameters(newAnchorVariable).Direction = ParameterDirection.Output
selectNewAnchorCommand.Connection = serverConn
Me.SelectNewAnchorCommand = selectNewAnchorCommand

请参阅

参考

DbServerSyncProvider 类
DbServerSyncProvider 成员
Microsoft.Synchronization.Data.Server 命名空间