MergePullSubscription 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í.
Representa una suscripción pull a una publicación de fusión.
public ref class MergePullSubscription sealed : Microsoft::SqlServer::Replication::PullSubscription
public sealed class MergePullSubscription : Microsoft.SqlServer.Replication.PullSubscription
type MergePullSubscription = class
inherit PullSubscription
Public NotInheritable Class MergePullSubscription
Inherits PullSubscription
- Herencia
Ejemplos
// Define the Publisher, publication, and databases.
string publicationName = "AdvWorksSalesOrdersMerge";
string publisherName = publisherInstance;
string subscriberName = subscriberInstance;
string subscriptionDbName = "AdventureWorks2012Replica";
string publicationDbName = "AdventureWorks2012";
string hostname = @"adventure-works\garrett1";
//Create connections to the Publisher and Subscriber.
ServerConnection subscriberConn = new ServerConnection(subscriberName);
ServerConnection publisherConn = new ServerConnection(publisherName);
// Create the objects that we need.
MergePublication publication;
MergePullSubscription subscription;
try
{
// Connect to the Subscriber.
subscriberConn.Connect();
// Ensure that the publication exists and that
// it supports pull subscriptions.
publication = new MergePublication();
publication.Name = publicationName;
publication.DatabaseName = publicationDbName;
publication.ConnectionContext = publisherConn;
if (publication.LoadProperties())
{
if ((publication.Attributes & PublicationAttributes.AllowPull) == 0)
{
publication.Attributes |= PublicationAttributes.AllowPull;
}
// Define the pull subscription.
subscription = new MergePullSubscription();
subscription.ConnectionContext = subscriberConn;
subscription.PublisherName = publisherName;
subscription.PublicationName = publicationName;
subscription.PublicationDBName = publicationDbName;
subscription.DatabaseName = subscriptionDbName;
subscription.HostName = hostname;
// Specify the Windows login credentials for the Merge Agent job.
subscription.SynchronizationAgentProcessSecurity.Login = winLogin;
subscription.SynchronizationAgentProcessSecurity.Password = winPassword;
// Make sure that the agent job for the subscription is created.
subscription.CreateSyncAgentByDefault = true;
// Create the pull subscription at the Subscriber.
subscription.Create();
Boolean registered = false;
// Verify that the subscription is not already registered.
foreach (MergeSubscription existing
in publication.EnumSubscriptions())
{
if (existing.SubscriberName == subscriberName
&& existing.SubscriptionDBName == subscriptionDbName
&& existing.SubscriptionType == SubscriptionOption.Pull)
{
registered = true;
}
}
if (!registered)
{
// Register the local subscription with the Publisher.
publication.MakePullSubscriptionWellKnown(
subscriberName, subscriptionDbName,
SubscriptionSyncType.Automatic,
MergeSubscriberType.Local, 0);
}
}
else
{
// Do something here if the publication does not exist.
throw new ApplicationException(String.Format(
"The publication '{0}' does not exist on {1}.",
publicationName, publisherName));
}
}
catch (Exception ex)
{
// Implement the appropriate error handling here.
throw new ApplicationException(String.Format(
"The subscription to {0} could not be created.", publicationName), ex);
}
finally
{
subscriberConn.Disconnect();
publisherConn.Disconnect();
}
' Define the Publisher, publication, and databases.
Dim publicationName As String = "AdvWorksSalesOrdersMerge"
Dim publisherName As String = publisherInstance
Dim subscriberName As String = subscriberInstance
Dim subscriptionDbName As String = "AdventureWorks2012Replica"
Dim publicationDbName As String = "AdventureWorks2012"
Dim hostname As String = "adventure-works\garrett1"
'Create connections to the Publisher and Subscriber.
Dim subscriberConn As ServerConnection = New ServerConnection(subscriberName)
Dim publisherConn As ServerConnection = New ServerConnection(publisherName)
' Create the objects that we need.
Dim publication As MergePublication
Dim subscription As MergePullSubscription
Try
' Connect to the Subscriber.
subscriberConn.Connect()
' Ensure that the publication exists and that
' it supports pull subscriptions.
publication = New MergePublication()
publication.Name = publicationName
publication.DatabaseName = publicationDbName
publication.ConnectionContext = publisherConn
If publication.LoadProperties() Then
If (publication.Attributes And PublicationAttributes.AllowPull) = 0 Then
publication.Attributes = publication.Attributes _
Or PublicationAttributes.AllowPull
End If
' Define the pull subscription.
subscription = New MergePullSubscription()
subscription.ConnectionContext = subscriberConn
subscription.PublisherName = publisherName
subscription.PublicationName = publicationName
subscription.PublicationDBName = publicationDbName
subscription.DatabaseName = subscriptionDbName
subscription.HostName = hostname
' Specify the Windows login credentials for the Merge Agent job.
subscription.SynchronizationAgentProcessSecurity.Login = winLogin
subscription.SynchronizationAgentProcessSecurity.Password = winPassword
' Make sure that the agent job for the subscription is created.
subscription.CreateSyncAgentByDefault = True
' Create the pull subscription at the Subscriber.
subscription.Create()
Dim registered As Boolean = False
' Verify that the subscription is not already registered.
For Each existing As MergeSubscription In _
publication.EnumSubscriptions()
If existing.SubscriberName = subscriberName Then
registered = True
End If
Next
If Not registered Then
' Register the local subscription with the Publisher.
publication.MakePullSubscriptionWellKnown( _
subscriberName, subscriptionDbName, _
SubscriptionSyncType.Automatic, _
MergeSubscriberType.Local, 0)
End If
Else
' Do something here if the publication does not exist.
Throw New ApplicationException(String.Format( _
"The publication '{0}' does not exist on {1}.", _
publicationName, publisherName))
End If
Catch ex As Exception
' Implement the appropriate error handling here.
Throw New ApplicationException(String.Format( _
"The subscription to {0} could not be created.", publicationName), ex)
Finally
subscriberConn.Disconnect()
publisherConn.Disconnect()
End Try
Comentarios
Para una suscripción pull, el Agente de mezcla se ejecuta en el Suscriptor.
Seguridad de hilos
Cualquier miembro público estático (Shareden Microsoft Visual Basic) de este tipo es seguro para operaciones multihilo. No se garantiza que los miembros de instancia sean seguros para el acceso concurrente.
Constructores
| Nombre | Description |
|---|---|
| MergePullSubscription() |
Crea una nueva instancia de la clase MergePullSubscription. |
| MergePullSubscription(String, String, String, String, ServerConnection, Boolean) |
Crea una nueva instancia de la MergePullSubscription clase con la base de datos especificada, Publisher, publicación, conexión de suscriptor y si el trabajo de agente está creado. |
| MergePullSubscription(String, String, String, String, ServerConnection) |
Inicializa una nueva instancia de la MergePullSubscription clase con la base de datos especificada, Publisher, publicación y conexión de Suscriptor. |
Propiedades
| Nombre | Description |
|---|---|
| AgentJobId |
Obtiene el ID del trabajo agente que se usa para sincronizar la suscripción. (Heredado de PullSubscription) |
| AgentOffload |
Obtiene o establece si el Agente de Sincronización se ejecuta en un ordenador distinto al que se creó el trabajo del agente. Esta propiedad ya no es compatible con distribuidores que ejecutan Microsoft SQL Server 2005 y versiones posteriores. (Heredado de PullSubscription) |
| AgentOffloadServer |
Obtiene o establece el nombre del ordenador remoto donde se ejecuta el agente al usar activación remota. (Heredado de PullSubscription) |
| AgentSchedule |
Obtiene el horario del trabajo de agente que se usa para sincronizar la suscripción. (Heredado de PullSubscription) |
| AltSnapshotFolder |
Obtiene o establece la ubicación donde se obtienen los archivos de instantáneas de publicación cuando no se utiliza la ubicación predeterminada de instantáneas en el distribuidor. (Heredado de PullSubscription) |
| CachePropertyChanges |
Obtiene o establece si guardar en caché los cambios realizados en las propiedades de replicación o aplicarlos inmediatamente. (Heredado de ReplicationObject) |
| ConnectionContext |
Obtiene o establece la conexión a una instancia de Microsoft SQL Server. (Heredado de ReplicationObject) |
| CreateSyncAgentByDefault |
Obtiene o establece si el trabajo del agente usado para iniciar el Replication Agent para sincronizar la suscripción se crea cuando se crea la suscripción. (Heredado de PullSubscription) |
| DatabaseName |
Obtiene o establece el nombre de la base de datos de suscripción. (Heredado de PullSubscription) |
| Description |
Obtiene o establece una descripción textual de la suscripción de la pull. (Heredado de PullSubscription) |
| DistributorName |
Obtiene o establece la instancia de Microsoft SQL Server que es el Distribuidor y distribuye la publicación a la que se suscribe la suscripción. (Heredado de PullSubscription) |
| DistributorSecurity |
Obtiene el contexto de seguridad que se usa para conectarse al distribuidor. (Heredado de PullSubscription) |
| DynamicSnapshotLocation |
Obtiene o establece la ubicación del archivo para los archivos de instantáneas específicos de la suscripción cuando la publicación utiliza un filtro de filas parametrizado. |
| EnabledForSynchronizationManager |
Especifica si la suscripción puede sincronizarse usando Windows Synchronization Manager. (Heredado de PullSubscription) |
| FtpAddress |
Obtiene o establece la dirección IP del servidor FTP. (Heredado de PullSubscription) |
| FtpLogin |
Obtiene o establece el inicio de sesión FTP. (Heredado de PullSubscription) |
| FtpPassword |
Obtiene o establece la contraseña FTP. (Heredado de PullSubscription) |
| FtpPort |
Obtiene o establece el número de puerto para el servidor FTP. (Heredado de PullSubscription) |
| HostName |
Obtiene o establece el valor proporcionado a la función HOST_NAME cuando esta función se utiliza en el filtro de filas parametrizado que define la partición de datos del suscriptor. |
| InternetLogin |
Obtiene o establece el inicio de sesión utilizado con la Autenticación Básica HTTP al conectarse al servidor web durante la sincronización web. |
| InternetPassword |
Obtiene o establece la contraseña del valor suministrado InternetLogin al conectarse al servidor web durante la sincronización web. |
| InternetSecurityMode |
Obtiene o establece el método de autenticación HTTP utilizado al conectarse al servidor web durante la sincronización web. |
| InternetTimeout |
Obtiene o establece el tiempo de espera HTTP en segundos al conectarse al servidor web durante la sincronización web. |
| InternetUrl |
Obtiene o establece la URL para usar al sincronizar la suscripción usando la sincronización web. |
| IsExistingObject |
Anota si el objeto existe en el servidor o no. (Heredado de ReplicationObject) |
| IsMemoryOptimized |
Representa una suscripción pull a una publicación de fusión. (Heredado de PullSubscription) |
| LastAgentDateTime |
Obtiene la fecha y hora en que se sincronizó la suscripción por última vez. (Heredado de PullSubscription) |
| LastAgentStatus |
Obtiene el estado de la sincronización más reciente de la suscripción. (Heredado de PullSubscription) |
| LastAgentSummary |
Obtiene un resumen del resultado de la sincronización más reciente de la suscripción. (Heredado de PullSubscription) |
| Name |
Obtiene el nombre generado para la suscripción de pull. (Heredado de PullSubscription) |
| Priority |
Obtiene o establece el peso de esta suscripción de servidor en relación con otras suscripciones al resolver conflictos entre suscripciones. |
| PublicationDBName |
Obtiene o establece el nombre de la base de datos de publicaciones. (Heredado de PullSubscription) |
| PublicationName |
Obtiene o establece el nombre de la publicación a la que se suscribe la suscripción. (Heredado de PullSubscription) |
| PublisherName |
Recibe o establece el nombre del Publisher. (Heredado de PullSubscription) |
| PublisherSecurity |
Obtiene o establece el contexto de seguridad utilizado por el Agente de Sincronización al conectarse al Publisher. (Heredado de PullSubscription) |
| SecureFtpPassword |
Obtiene o establece la contraseña segura para el inicio de sesión que se usa para conectarse al servidor FTP. (Heredado de PullSubscription) |
| SecureInternetPassword |
Establece la contraseña (como objeto SecureString ) utilizada al conectarse al servidor web usando la autenticación básica HTTP. |
| SqlServerName |
Obtiene el nombre de la instancia de Microsoft SQL Server a la que está conectado este objeto. (Heredado de ReplicationObject) |
| SubscriberSecurity |
Obtiene el contexto de seguridad que utiliza el Agente de Sincronización al conectarse al Suscriptor. (Heredado de PullSubscription) |
| SubscriberType |
Obtiene o establece si la suscripción es de servidor o de cliente. |
| SubscriptionId |
Obtiene el valor del ID de suscripción. (Heredado de PullSubscription) |
| SubscriptionType |
Determina si el registro de suscripción es para una suscripción push, pull o anónima. (Heredado de PullSubscription) |
| SynchronizationAgent |
Obtiene un objeto que representa una instancia del Agente de mezcla que puede usarse para sincronizar la suscripción. |
| SynchronizationAgentProcessSecurity |
Obtiene el contexto de seguridad que se utiliza para especificar la cuenta Microsoft Windows bajo la cual se ejecuta el trabajo del Agente de Sincronización para sincronizar la suscripción. (Heredado de PullSubscription) |
| SyncType |
Obtiene o establece la forma en que los datos se inicializan en el Suscriptor. |
| Type |
Obtiene o establece el tipo de publicación. (Heredado de PullSubscription) |
| UseFtp |
Obtiene o establece si los archivos snapshot necesarios para inicializar la suscripción pull son accedidos por el Agente de Sincronización usando el Protocolo de Transferencia de Archivos (FTP). (Heredado de PullSubscription) |
| UseInteractiveResolver |
Obtiene o establece si el Resolver Interactivo se utiliza durante el proceso de sincronización. |
| UserData |
Obtiene o establece una propiedad de objeto que permite a los usuarios adjuntar sus propios datos al objeto. (Heredado de ReplicationObject) |
| UseWebSynchronization |
Obtiene o establece si la suscripción está sincronizada usando la sincronización web. |
| WorkingDirectory |
Obtiene o establece la ruta del directorio en el Suscriptor que se utiliza para almacenar y descomprimir temporalmente los archivos de instantáneas descargados. (Heredado de PullSubscription) |
Métodos
| Nombre | Description |
|---|---|
| CheckValidCreation() |
Comprueba la creación válida de la replicación. (Heredado de ReplicationObject) |
| CheckValidDefinition(Boolean) |
Indica si la definición es válida. (Heredado de PullSubscription) |
| CommitPropertyChanges() |
Envía todas las sentencias de cambio de propiedades en caché a la instancia de Microsoft SQL Server. (Heredado de ReplicationObject) |
| Create() |
Crea la suscripción pull en el Suscriptor. (Heredado de PullSubscription) |
| CustomEnabledForSyncMgr(StringBuilder) |
Permite la publicación personalizada para el gestor síncrono. (Heredado de PullSubscription) |
| Decouple() |
Desacopla el objeto de replicación referenciado del servidor. (Heredado de ReplicationObject) |
| EnumSynchronizationPartners() |
Devuelve los socios alternativos de sincronización |
| GetChangeCommand(StringBuilder, String, String) |
Devuelve el comando de cambio de la replicación. (Heredado de ReplicationObject) |
| GetCreateCommand(StringBuilder, Boolean, ScriptOptions) |
Devuelve el comando create de la replicación. (Heredado de ReplicationObject) |
| GetDropCommand(StringBuilder, Boolean) |
Devuelve el comando drop de la replicación. (Heredado de ReplicationObject) |
| InitMemberVariables(String, String, String, String, Boolean) |
Inicializa las variables miembros. (Heredado de PullSubscription) |
| InternalRefresh(Boolean) |
Inicia una actualización interna desde la replicación. (Heredado de ReplicationObject) |
| LastAgentJobHistoryInfo() |
Devuelve información del último trabajo del Agente de Sincronización que se ejecutó. (Heredado de PullSubscription) |
| Load() |
Carga las propiedades de un objeto existente desde el servidor. (Heredado de ReplicationObject) |
| LoadProperties() |
Carga las propiedades de un objeto existente desde el servidor. (Heredado de ReplicationObject) |
| Refresh() |
Recarga las propiedades del objeto. (Heredado de ReplicationObject) |
| Reinitialize(Boolean) |
Marca la suscripción de fusión para la reinicialización. |
| Remove() |
Elimina la suscripción de pull. (Heredado de PullSubscription) |
| Script(ScriptOptions) |
Devuelve un script Transact-SQL para crear o eliminar la suscripción pull según la configuración actual de propiedades del PullSubscription objeto. (Heredado de PullSubscription) |
| StopSynchronizationJob() |
Intenta detener un trabajo de Agente de mezcla en ejecución que actualmente está sincronizando la suscripción. |
| SynchronizeWithJob() |
Inicia el trabajo del agente de forma asincrónica para sincronizar la suscripción de pull. |