TransSynchronizationAgent Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.