Propriedade DbServerSyncProvider.SelectNewAnchorCommand
Obtém ou define um objeto IDbCommand que contém a consulta ou o procedimento armazenado que retorna um novo valor de âncora do banco de dados do servidor. A âncora define o limite superior do conjunto de alterações a ser sincronizado durante a sessão atual.
Namespace: Microsoft.Synchronization.Data.Server
Assembly: Microsoft.Synchronization.Data.Server (em microsoft.synchronization.data.server.dll)
Sintaxe
'Declaração
Public Property SelectNewAnchorCommand As IDbCommand
'Uso
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)
Valor da propriedade
Um objeto IDbCommand que contém uma consulta ou um procedimento armazenado.
Comentários
Durante a sincronização atual, o novo comando de âncora fornece um novo valor de âncora. As alterações feitas depois do último valor de âncora recebido e antes do novo valor de âncora recebido são sincronizadas. A nova âncora recebida é armazenada e usada como o último valor de âncora recebido para a próxima sincronização. Para obter mais informações, consulte a seção "Determinando quais alterações de dados devem ser baixadas em um cliente" em Controlando alterações no banco de dados do servidor.
Exemplo
O exemplo de código a seguir especifica um comando para recuperar um novo valor de âncora no servidor. Nesse caso, MIN_ACTIVE_ROWVERSION
retorna um valor de carimbo de data/hora de um banco de dados do SQL Server. (MIN_ACTIVE_ROWVERSION foi introduzido no SQL Server 2005 Service Pack 2.) Um valor de carimbo de data/hora é usado porque as colunas de controle no banco de dados do servidor contêm valores de carimbo de data/hora. Se as colunas de controle contiverem valores de data, você poderá usar uma função, como GETUTCDATE()
, em vez de MIN_ACTIVE_ROWVERSION
. SyncSession contém várias constantes de cadeia de caracteres que podem ser usadas em comandos de sincronização. SyncNewReceivedAnchor é uma dessas constantes. Você também pode usar a literal @sync_new_received_anchor
diretamente em suas consultas. Para exibir esse código no contexto de um exemplo completo, consulte Guia de introdução: sincronização entre cliente e servidor.
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
Consulte também
Referência
Classe DbServerSyncProvider
Membros DbServerSyncProvider
Namespace Microsoft.Synchronization.Data.Server