Compartir a través de


MergePullSubscription Clase

Definición

Representa una suscripción de extracción a una publicación de mezcla.

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
MergePullSubscription

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 de extracción, el Agente de mezcla se ejecuta en el suscriptor.

Seguridad para subprocesos

Todos los miembros estáticos públicos (Shared en Microsoft Visual Basic) de este tipo son seguros para las operaciones multiproceso. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Constructores

MergePullSubscription()

Crea una nueva instancia de la clase MergePullSubscription.

MergePullSubscription(String, String, String, String, ServerConnection)

Inicializa una nueva instancia de la MergePullSubscription clase con la base de datos, el publicador, la publicación y la conexión del suscriptor especificadas.

MergePullSubscription(String, String, String, String, ServerConnection, Boolean)

Crea una instancia de la clase MergePullSubscription con la base de datos, publicador, publicación, conexión de suscriptor especificados y define si se crea el trabajo del agente.

Propiedades

AgentJobId

Obtiene el identificador del trabajo del agente utilizado para sincronizar la suscripción.

(Heredado de PullSubscription)
AgentOffload

Obtiene o establece si el Agente de sincronización se ejecuta en un equipo distinto del donde 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 equipo remoto donde se ejecuta el agente cuando se usa la activación remota del agente.

(Heredado de PullSubscription)
AgentSchedule

Obtiene el trabajo del agente utilizado para sincronizar la suscripción.

(Heredado de PullSubscription)
AltSnapshotFolder

Obtiene o establece la ubicación donde se obtienen los archivos de instantánea de publicación cuando no se utiliza la ubicación de instantáneas predeterminada en el distribuidor.

(Heredado de PullSubscription)
CachePropertyChanges

Obtiene o establece si los cambios realizados en las propiedades de replicación se almacenan en memoria caché o se aplican 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 se crea o no el trabajo de agente utilizado para iniciar el Agente de replicación para sincronizar la suscripción cuando se crea la suscripción.

(Heredado de PullSubscription)
DatabaseName

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

(Heredado de PullSubscription)
Description

Obtiene o establece una descripción textual de la suscripción de extracción.

(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 la conexión al distribuidor.

(Heredado de PullSubscription)
DynamicSnapshotLocation

Obtiene o establece la ubicación de los archivos de instantánea específicos de la suscripción cuando la publicación utiliza un filtro de fila con parámetros.

EnabledForSynchronizationManager

Especifica si la suscripción se puede sincronizar o no mediante el Administrador de sincronización de Windows.

(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 de FTP.

(Heredado de PullSubscription)
FtpPassword

Obtiene o establece la contraseña de 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 usa en el filtro de fila con parámetros 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 conectar al servidor web durante la sincronización web.

InternetPassword

Obtiene o establece la contraseña para el valor de InternetLogin proporcionado al conectar al servidor web durante la sincronización web.

InternetSecurityMode

Obtiene o establece el método de autenticación HTTP utilizado al conectar al servidor web durante la sincronización web.

InternetTimeout

Obtiene o establece el tiempo de espera de HTTP, en segundos, para la conexión al servidor web durante la sincronización web.

InternetUrl

Obtiene o establece la dirección URL para utilizar al sincronizar la suscripción mediante la sincronización web.

IsExistingObject

Obtiene si el objeto existe en el servidor.

(Heredado de ReplicationObject)
IsMemoryOptimized

Representa una suscripción de extracción a una publicación de mezcla.

(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 extracción.

(Heredado de PullSubscription)
Priority

Obtiene o establece la ponderación de esta suscripción de servidor relativa a otras suscripciones de servidor al resolver los conflictos entre suscripciones.

PublicationDBName

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

(Heredado de PullSubscription)
PublicationName

Obtiene o establece el nombre de la publicación a la que se realiza la suscripción.

(Heredado de PullSubscription)
PublisherName

Obtiene o establece el nombre del publicador.

(Heredado de PullSubscription)
PublisherSecurity

Obtiene o establece el contexto de seguridad utilizado por el Agente de sincronización durante la conexión al publicador.

(Heredado de PullSubscription)
SecureFtpPassword

Obtiene o establece la contraseña protegida para el inicio de sesión que se usa para conectar con el servidor FTP.

(Heredado de PullSubscription)
SecureInternetPassword

Establece la contraseña (en forma de objeto SecureString) utilizada para la conexión al servidor web utilizando autenticación básica de 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 utilizado por el Agente de sincronización durante la conexión al suscriptor.

(Heredado de PullSubscription)
SubscriberType

Obtiene o establece si la suscripción es un servidor o una suscripción de cliente.

SubscriptionId

Obtiene el valor de identificador de la suscripción.

(Heredado de PullSubscription)
SubscriptionType

Obtiene si el registro de la suscripción es para una inserción, extracción o suscripción anónima.

(Heredado de PullSubscription)
SynchronizationAgent

Obtiene un objeto que representa una instancia del Agente de mezcla que se puede utilizar para sincronizar la suscripción.

SynchronizationAgentProcessSecurity

Obtiene el contexto de seguridad que se usa para especificar la cuenta de Microsoft Windows con la que se ejecuta el trabajo del Agente de sincronización para sincronizar la suscripción.

(Heredado de PullSubscription)
SyncType

Obtiene o establece la manera en la 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 el Agente de sincronización obtiene acceso a los archivos de instantánea necesarios para inicializar la suscripción de extracción utilizando el Protocolo de transferencia de archivos (FTP).

(Heredado de PullSubscription)
UseInteractiveResolver

Obtiene o establece si el Solucionador interactivo se utiliza durante el proceso de sincronización.

UserData

Obtiene o establece una propiedad de un objeto que permite a los usuarios adjuntar sus propios datos al objeto.

(Heredado de ReplicationObject)
UseWebSynchronization

Obtiene o establece si la suscripción se sincroniza utilizando la sincronización web.

WorkingDirectory

Obtiene o establece la ruta de acceso del directorio del suscriptor que se utiliza para almacenar temporalmente y descomprimir los archivos de instantánea descargados.

(Heredado de PullSubscription)

Métodos

CheckValidCreation()

Comprueba la creación de replicación válida.

(Heredado de ReplicationObject)
CheckValidDefinition(Boolean)

Indica si la definición es válida.

(Heredado de PullSubscription)
CommitPropertyChanges()

Envía todas las instrucciones de cambio de propiedad almacenadas en caché a la instancia de Microsoft SQL Server.

(Heredado de ReplicationObject)
Create()

Crea la suscripción de extracción en el suscriptor.

(Heredado de PullSubscription)
CustomEnabledForSyncMgr(StringBuilder)

Habilita la publicación personalizada para el administrador sincrónico.

(Heredado de PullSubscription)
Decouple()

Desacopla del servidor el objeto de replicación al que se hace referencia.

(Heredado de ReplicationObject)
EnumSynchronizationPartners()

Devuelve los asociados de sincronización alternativos

GetChangeCommand(StringBuilder, String, String)

Devuelve el comando de cambio de la replicación.

(Heredado de ReplicationObject)
GetCreateCommand(StringBuilder, Boolean, ScriptOptions)

Devuelve el comando de creación 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 miembro.

(Heredado de PullSubscription)
InternalRefresh(Boolean)

Inicia una actualización interna de la replicación.

(Heredado de ReplicationObject)
LastAgentJobHistoryInfo()

Devuelve información sobre el ú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()

Vuelve a cargar las propiedades del objeto.

(Heredado de ReplicationObject)
Reinitialize(Boolean)

Marca la suscripción de extracción de mezcla para reinicialización.

Remove()

Quita la suscripción de extracción.

(Heredado de PullSubscription)
Script(ScriptOptions)

Devuelve un script de Transact-SQL para crear o eliminar la suscripción de extracción en función del valor de la propiedad actual del PullSubscription objeto.

(Heredado de PullSubscription)
StopSynchronizationJob()

Intenta detener un trabajo de un Agente de mezcla en ejecución que está sincronizando la suscripción actualmente.

SynchronizeWithJob()

Inicia de forma asincrónica el trabajo del agente para sincronizar la suscripción de extracción.

Se aplica a

Consulte también