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
    Get
    Set
'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);
}
member SelectNewAnchorCommand : IDbCommand with get, set
function get SelectNewAnchorCommand () : IDbCommand
function set SelectNewAnchorCommand (value : IDbCommand)

Eigenschaftenwert

Typ: System.Data. . :: . .IDbCommand
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.

Beispiele

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 Spalten für die Nachverfolgung Datenwerte enthielten, können Sie eine Funktion wie GETUTCDATE() anstelle von MIN_ACTIVE_ROWVERSION verwenden. SyncSession enthält mehrere Zeichenfolgekonstanten, die in Synchronisierungsbefehlen verwendet werden können. SyncNewReceivedAnchor ist eine dieser Konstanten. 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