TransSynchronizationAgent Clase

Definición

Proporciona la funcionalidad del Replication Agente de distribución.

public ref class TransSynchronizationAgent : MarshalByRefObject, IDisposable, Microsoft::SqlServer::Replication::ITransSynchronizationAgent
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)]
[System.Runtime.InteropServices.ComSourceInterfaces(typeof(Microsoft.SqlServer.Replication.IComStatusEvent))]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Runtime.InteropServices.Guid("adeda98a-bdfc-4029-b6fb-991d6b468395")]
public class TransSynchronizationAgent : MarshalByRefObject, IDisposable, Microsoft.SqlServer.Replication.ITransSynchronizationAgent
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)>]
[<System.Runtime.InteropServices.ComSourceInterfaces(typeof(Microsoft.SqlServer.Replication.IComStatusEvent))>]
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Runtime.InteropServices.Guid("adeda98a-bdfc-4029-b6fb-991d6b468395")>]
type TransSynchronizationAgent = class
    inherit MarshalByRefObject
    interface IDisposable
    interface ITransSynchronizationAgent
Public Class TransSynchronizationAgent
Inherits MarshalByRefObject
Implements IDisposable, ITransSynchronizationAgent
Herencia
TransSynchronizationAgent
Atributos
Implementaciones

Ejemplos

En el siguiente ejemplo, el Synchronize método se llama a la instancia de la TransSynchronizationAgent clase a la que se accede desde la SynchronizationAgent propiedad para sincronizar la suscripción push.

// Define the server, publication, and database names.
string subscriberName = subscriberInstance;
string publisherName = publisherInstance;
string publicationName = "AdvWorksProductTran";
string subscriptionDbName = "AdventureWorks2012Replica";
string publicationDbName = "AdventureWorks2012";

// Create a connection to the Publisher.
ServerConnection conn = new ServerConnection(publisherName);

TransSubscription subscription;

try
{
    // Connect to the Publisher.
    conn.Connect();

    // Define the push subscription.
    subscription = new TransSubscription();
    subscription.ConnectionContext = conn;
    subscription.DatabaseName = publicationDbName;
    subscription.PublicationName = publicationName;
    subscription.SubscriptionDBName = subscriptionDbName;
    subscription.SubscriberName = subscriberName;

    // If the push subscription exists, start the synchronization.
    if (subscription.LoadProperties())
    {
        // Check that we have enough metadata to start the agent.
        if (subscription.SubscriberSecurity != null)
        {
            // Synchronously start the Distribution Agent for the subscription.
            subscription.SynchronizationAgent.Synchronize();
        }
        else
        {
            throw new ApplicationException("There is insufficent metadata to " +
                "synchronize the subscription. Recreate the subscription with " +
                "the agent job or supply the required agent properties at run time.");
        }
    }
    else
    {
        // Do something here if the push subscription does not exist.
        throw new ApplicationException(String.Format(
            "The subscription to '{0}' does not exist on {1}",
            publicationName, subscriberName));
    }
}
catch (Exception ex)
{
    // Implement appropriate error handling here.
    throw new ApplicationException("The subscription could not be synchronized.", ex);
}
finally
{
    conn.Disconnect();
}
' Define the server, publication, and database names.
Dim subscriberName As String = subscriberInstance
Dim publisherName As String = publisherInstance
Dim publicationName As String = "AdvWorksProductTran"
Dim subscriptionDbName As String = "AdventureWorks2012Replica"
Dim publicationDbName As String = "AdventureWorks2012"

' Create a connection to the Publisher.
Dim conn As ServerConnection = New ServerConnection(publisherName)

Dim subscription As TransSubscription

Try
    ' Connect to the Publisher.
    conn.Connect()

    ' Define the push subscription.
    subscription = New TransSubscription()
    subscription.ConnectionContext = conn
    subscription.DatabaseName = publicationDbName
    subscription.PublicationName = publicationName
    subscription.SubscriptionDBName = subscriptionDbName
    subscription.SubscriberName = subscriberName

    ' If the push subscription exists, start the synchronization.
    If subscription.LoadProperties() Then
        ' Check that we have enough metadata to start the agent.
        If Not subscription.SubscriberSecurity Is Nothing Then

            ' Synchronously start the Distribution Agent for the subscription.
            subscription.SynchronizationAgent.Synchronize()
        Else
            Throw New ApplicationException("There is insufficent metadata to " + _
             "synchronize the subscription. Recreate the subscription with " + _
             "the agent job or supply the required agent properties at run time.")
        End If
    Else
        ' Do something here if the push subscription does not exist.
        Throw New ApplicationException(String.Format( _
         "The subscription to '{0}' does not exist on {1}", _
         publicationName, subscriberName))
    End If
Catch ex As Exception
    ' Implement appropriate error handling here.
    Throw New ApplicationException("The subscription could not be synchronized.", ex)
Finally
    conn.Disconnect()
End Try

Comentarios

La TransSynchronizationAgent clase permite sincronizar programáticamente suscripciones a publicaciones transaccionales o snapshot.

Constructores

Nombre Description
TransSynchronizationAgent()

Crea una instancia de la clase TransSynchronizationAgent.

Propiedades

Nombre Description
AltSnapshotFolder

Obtiene o establece la carpeta de instantáneas alternativas para la suscripción.

ComErrorCollection

Obtiene una colección de errores generados por el agente de replicación.

Distributor

Obtiene o establece el nombre de la instancia de Microsoft SQL Server que actúa como distribuidor de la suscripción.

DistributorAddress

Obtiene o establece la dirección de red que se utiliza para conectarse al distribuidor cuando se especifica la DistributorNetwork propiedad.

DistributorEncryptedPassword

Obtiene o establece la contraseña cifrada que se usa al conectarse al distribuidor mediante la autenticación de SQL Server.

DistributorLogin

Obtiene o establece el nombre de usuario que se usa al conectarse al distribuidor mediante la autenticación de SQL Server.

DistributorNetwork

Obtiene o establece el Net-Library cliente que se usa al conectarse al distribuidor.

DistributorPassword

Obtiene o establece la contraseña que se usa al conectarse al distribuidor mediante la autenticación de SQL Server.

DistributorSecurityMode

Obtiene o establece el modo de seguridad que se usa al conectarse al distribuidor.

DtsPackageFileName

Obtiene o establece el nombre y la ruta de un paquete de Microsoft SQL Server 2000 Data Transformation Services (DTS) que se utiliza para transformar conjuntos de filas de comandos antes de que se apliquen a un Suscriptor.

DtsPackagePassword

Obtiene o establece la contraseña del propietario que solía acceder al paquete de Servicios de Transformación de Datos (DTS) de Microsoft SQL Server 2000 especificado por la DtsPackageFileName propiedad.

FileTransferType

Obtiene o establece cómo se transfieren los archivos de instantánea iniciales al Suscriptor.

HostName

Obtiene o establece el nombre de host utilizado.

LastUpdatedTime

Obtiene la marca de tiempo de la última vez que ese agente de replicación sincronizó la suscripción.

LoginTimeout

Obtiene o establece el número máximo de segundos para esperar a que se establezcan las conexiones.

MaxDeliveredTransactions

Obtiene o establece el número máximo de transacciones que se aplican al Suscriptor durante la ejecución de un solo agente.

Output

Obtiene o establece el nombre del archivo y la ruta del archivo de salida del agente.

OutputVerboseLevel

Obtiene o establece la cantidad de información que registra el Agente de distribución en el archivo de salida del agente.

ProfileName

Obtiene o establece el nombre del perfil que utiliza el agente.

Publication

Obtiene o establece el nombre de la publicación.

Publisher

Obtiene o establece el nombre de la instancia de Microsoft SQL Server que es el Publisher de la suscripción.

PublisherDatabase

Obtiene o establece el nombre de la base de datos de publicaciones.

QueryTimeout

Obtiene o establece el número de segundos permitidos para que se completen las consultas internas.

SecureDistributorEncryptedPassword

Obtiene o establece la contraseña segura cifrada para el distribuidor.

SecureSubscriberEncryptedPassword

Obtiene o establece la contraseña segura cifrada para el suscriptor.

SkipErrors

Obtiene o establece una lista separada por dos puntos con los números de error que este agente debe omitir.

Subscriber

Obtiene o establece el nombre de la instancia de Microsoft SQL Server que es el suscriptor.

SubscriberDatabase

Obtiene o establece el nombre de la base de datos de suscripción.

SubscriberDatabasePath

Obtén o establece la ruta de la base de datos para el suscriptor.

SubscriberDataSourceType

Obtiene o establece el tipo de fuente de datos que se utiliza como suscriptor.

SubscriberEncryptedPassword

Obtiene o establece la contraseña cifrada para el suscriptor.

SubscriberLogin

Obtiene o establece el nombre de usuario que se usa al conectarse al suscriptor mediante la autenticación de SQL Server.

SubscriberPassword

Obtiene o establece la contraseña que se usa al conectarse al abonado mediante la autenticación de SQL Server.

SubscriberSecurityMode

Obtiene o establece el modo de seguridad que se usa al conectarse con el editor.

SubscriptionType

Obtiene o determina si la suscripción es de empuje o de tirada.

UndeliveredCommands

Obtiene el número de comandos no entregados.

UndeliveredTransactions

Obtiene el número de transacciones no entregadas.

UseInProcLoader

Recibe o establece un valor que indica si usar el comando BULK INSERT al aplicar archivos snapshot al suscriptor.

WorkingDirectory

Obtiene o establece el directorio de trabajo desde el que se accede a los archivos snapshot cuando se utiliza el Protocolo de Transferencia de Archivos (FTP).

Métodos

Nombre Description
Abort()

Aborta la TransSynchronizationAgent operación.

Dispose()

Libera todos los recursos usados por la instancia actual de la TransSynchronizationAgent clase .

Dispose(Boolean)

Libera todos los recursos usados por la TransSynchronizationAgent clase .

Finalize()

Finaliza el TransSynchronizationAgentarchivo .

IsSnapshotRequired()

Se conecta con el distribuidor y el suscriptor para determinar si se aplicará una nueva instantánea durante la siguiente sincronización del agente.

Synchronize()

Inicia el Agente de distribución para sincronizar la suscripción.

Eventos

Nombre Description
ComStatus

Ocurre cuando el Agente de distribución devuelve la información de estado de sincronización del Com.

Status

Ocurre cuando el Agente de distribución devuelve información de estado de sincronización.

Se aplica a

Seguridad para subprocesos

La TransSynchronizationAgent clase no admite apartamentos multihilo. Puedes especificar un apartamento de hilo único declarando el [STAThread] atributo en el método que es el punto de entrada principal de la aplicación. Este es el valor predeterminado para las aplicaciones basadas en Microsoft Windows que se crean usando Microsoft Visual Studio.