Compartir a través de


TransSynchronizationAgent Clase

Definición

Proporciona la funcionalidad del Agente de distribución de replicació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 ejemplo siguiente, se llama al Synchronize método en la instancia de la clase a la TransSynchronizationAgent que se tiene acceso desde la SynchronizationAgent propiedad para sincronizar la suscripción de inserción.

// 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 admite la capacidad de sincronizar mediante programación las suscripciones a publicaciones transaccionales o de instantáneas.

Constructores

TransSynchronizationAgent()

Crea una instancia de la clase TransSynchronizationAgent.

Propiedades

AltSnapshotFolder

Obtiene o establece la carpeta de instantáneas alternativa 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 usa para la conexión al distribuidor cuando se especifica la propiedad DistributorNetwork.

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 inicio de sesión que se usa al conectarse al distribuidor mediante la autenticación SQL Server.

DistributorNetwork

Obtiene o establece el cliente Net-Library 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 SQL Server.

DistributorSecurityMode

Obtiene o establece el modo de seguridad que se usa para la conexión al distribuidor.

DtsPackageFileName

Obtiene o establece el nombre y la ruta de acceso de un paquete de Servicios de transformación de datos (DTS) de Microsoft SQL Server 2000 que se emplea para transformar los conjuntos de filas de comandos antes de aplicarlos a un suscriptor.

DtsPackagePassword

Obtiene o establece la contraseña de propietario que se usó para tener acceso 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 al suscriptor los archivos de la instantánea inicial.

HostName

Obtiene o establece el nombre de host usado.

LastUpdatedTime

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

LoginTimeout

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

MaxDeliveredTransactions

Obtiene o establece el número máximo de transacciones que se aplican al suscriptor durante una sola ejecución del agente.

Output

Obtiene o establece el nombre de archivo y la ruta de acceso 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 usado por 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 actúa como publicador de la suscripción.

PublisherDatabase

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

QueryTimeout

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

SecureDistributorEncryptedPassword

Obtiene o establece la contraseña cifrada segura del distribuidor.

SecureSubscriberEncryptedPassword

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

SkipErrors

Obtiene o establece una lista separada por signos de dos puntos de los números de error que este agente 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 suscripciones.

SubscriberDatabasePath

Obtiene o establece la ruta de acceso de la base de datos del suscriptor.

SubscriberDataSourceType

Obtiene o establece el tipo de origen de datos que se usa como suscriptor.

SubscriberEncryptedPassword

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

SubscriberLogin

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

SubscriberPassword

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

SubscriberSecurityMode

Obtiene o establece el modo de seguridad que se usa para la conexión al publicador.

SubscriptionType

Obtiene o establece si la suscripción es de inserción o de extracción.

UndeliveredCommands

Obtiene el número de comandos sin entregar.

UndeliveredTransactions

Obtiene el número de transacciones sin entregar.

UseInProcLoader

Obtiene o establece un valor que indica si se usa el comando BULK INSERT al aplicar los archivos de instantánea en el suscriptor.

WorkingDirectory

Obtiene o establece el directorio de trabajo desde el cual se obtiene acceso a los archivos de instantánea cuando se utiliza el Protocolo de transferencia de archivos (FTP).

Métodos

Abort()

Anula la operación de TransSynchronizationAgent.

Dispose()

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

Dispose(Boolean)

Libera todos los recursos que utiliza la clase TransSynchronizationAgent.

Finalize()

Finaliza TransSynchronizationAgent.

IsSnapshotRequired()

Conecta al distribuidor y el suscriptor para determinar si se aplicará una instantánea nueva durante la próxima sincronización del agente.

Synchronize()

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

Eventos

ComStatus

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

Status

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

Se aplica a

Seguridad para subprocesos

La TransSynchronizationAgent clase no admite apartamentos multiproceso. Puede especificar un apartamento de un solo subproceso 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 mediante Microsoft Visual Studio.