DbServerSyncProvider.SelectNewAnchorCommand-Eigenschaft
Ruft ein IDbCommand-Objekt mit der Abfrage oder gespeicherten Prozedur ab, die einen neuen Ankerwert aus der Serverdatenbank zurückgibt, oder legt ein solches Objekt fest. Der Anker definiert die obere Grenze für den Satz von Änderungen, der während der aktuellen Sitzung synchronisiert werden soll.
Namespace: Microsoft.Synchronization.Data.Server
Assembly: Microsoft.Synchronization.Data.Server (in microsoft.synchronization.data.server.dll)
Syntax
'Declaration
Public Property SelectNewAnchorCommand As IDbCommand
'Usage
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)
Eigenschaftenwert
Ein IDbCommand-Objekt, das eine Abfrage oder gespeicherte Prozedur enthält.
Hinweise
Während der aktuellen Synchronisierung stellt der neue Ankerbefehl einen neuen Ankerwert bereit. Alle Änderungen, die nach dem letzten und vor dem neuen empfangenen Ankerwert vorgenommen wurden, werden synchronisiert. Der neue empfangene Anker wird anschließend gespeichert und bei der nächsten Synchronisierung als letzter empfangener Ankerwert verwendet. Weitere Informationen finden Sie im Abschnitt "Ermitteln der auf einen Client herunterzuladenden Datenänderungen" in Änderungsnachverfolgung in der Serverdatenbank.
Beispiel
Das folgende Codebeispiel gibt einen Befehl zum Abrufen eines neuen Ankerwerts vom Server an. In diesem Fall gibt MIN_ACTIVE_ROWVERSION
einen Timestampwert aus einer SQL Server-Datenbank zurück. (MIN_ACTIVE_ROWVERSION wurde in SQL Server 2005 Service Pack 2 eingeführt.) Ein Timestampwert wird deshalb verwendet, weil die Nachverfolgungsspalten in der Serverdatenbank Timestampwerte enthalten. Wenn die Nachverfolgungsspalten Datumswerte enthalten, können Sie anstelle von MIN_ACTIVE_ROWVERSION
auch eine Funktion wie GETUTCDATE()
verwenden. SyncSession enthält mehrere Zeichenfolgenkonstanten, die in Synchronisierungsbefehlen verwendet werden können. Eine dieser Konstanten ist SyncNewReceivedAnchor. Sie können direkt in Ihren Abfragen auch das @sync_new_received_anchor
-Literal verwenden. Eine Darstellung dieses Codes im Kontext eines vollständigen Beispiels finden Sie unter Erste Schritte: Client- und Serversynchronisierung.
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
Siehe auch
Verweis
DbServerSyncProvider-Klasse
DbServerSyncProvider-Member
Microsoft.Synchronization.Data.Server-Namespace