Reinicializar una suscripciónReinitialize a Subscription

En este tema se describe cómo reinicializar una suscripción en SQL Server 2017SQL Server 2017 mediante SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQLo Replication Management Objects (RMO).This topic describes how to reinitialize a subscription in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or Replication Management Objects (RMO). Las suscripciones individuales se pueden marcar para reinicialización de manera que se aplique una nueva instantánea durante la siguiente sincronización.Individual subscriptions can be marked for reinitialization so that a new snapshot is applied during the next synchronization.

En este temaIn This Topic

Usar SQL Server Management Studio Using SQL Server Management Studio

Reinicializar una suscripción es un proceso con dos partes:Reinitializing a subscription is a two-part process:

  1. Una o todas las suscripciones a una publicación se marcan para reinicializarse.A single subscription or all subscriptions to a publication are marked for reinitialization. Las suscripciones se marcan para reinicializarlas en el cuadro de diálogo Reinicializar suscripciones , disponible en la carpeta Publicaciones locales y en la carpeta Suscripciones locales de MicrosoftMicrosoft SQL Server Management StudioSQL Server Management Studio.Mark subscriptions for reinitialization in the Reinitialize Subscription(s) dialog box, which is available from the Local Publications folder and the Local Subscriptions folder in MicrosoftMicrosoft SQL Server Management StudioSQL Server Management Studio. También puede marcar suscripciones desde la pestaña Todas las suscripciones y el nodo de publicaciones del Monitor de replicación.You can also mark subscriptions from the All Subscriptions tab and the publications node in Replication Monitor. Para obtener información sobre cómo iniciar el Monitor de replicación, vea Iniciar el Monitor de replicación.For information about starting Replication Monitor, see Start the Replication Monitor. Al marcar una suscripción para reinicialización, tiene las siguientes opciones:When you mark a subscription for reinitialization, you have the following options:

    Utilizar la instantánea actualUse the current snapshot
    Seleccione esta opción para aplicar la instantánea actual al suscriptor la próxima vez que se ejecute el Agente de distribución o el Agente de mezcla.Select to apply the current snapshot to the Subscriber the next time the Distribution Agent or Merge Agent runs. Si no hay ninguna instantánea válida disponible, esta opción no puede seleccionarse.If there is no valid snapshot available, this option cannot be selected.

    Utilizar una instantánea nuevaUse a new snapshot
    Seleccione esta opción para reinicializar la suscripción con una instantánea nueva.Select to reinitialize the subscription with a new snapshot. La instantánea solo puede aplicarse al suscriptor después de que la haya generado el Agente de instantáneas.The snapshot can be applied to the Subscriber only after it has been generated by the Snapshot Agent. Si el Agente de instantáneas está configurado para ejecutarse de acuerdo con una programación, la suscripción no se reinicializará hasta después de la siguiente ejecución programada del Agente de instantáneas.If the Snapshot Agent is set to run on a schedule, the subscription is not reinitialized until after the next scheduled Snapshot Agent run. Seleccione Generar la nueva instantánea ahora para iniciar el Agente de instantáneas de forma inmediata.Select Generate the new snapshot now to start the Snapshot Agent immediately.

    Cargar los cambios no sincronizados antes de reinicializarUpload unsynchronized changes before reinitialization
    Solo replicación de mezcla.Merge replication only. Seleccione esta opción para cargar cambios pendientes de la base de datos de suscripciones antes de que se sobrescriba el suscriptor con una instantánea.Select to upload any pending changes from the subscription database before the data at the Subscriber is overwritten with a snapshot.

    Si se agrega, quita o modifica un filtro con parámetros, los cambios pendientes en el suscriptor no se pueden cargar en el publicador durante la reinicialización.If you add, drop, or change a parameterized filter, pending changes at the Subscriber cannot be uploaded to the Publisher during reinitialization. Si desea cargar los cambios pendientes, sincronice todas las suscripciones antes de cambiar el filtro.If you want to upload pending changes, synchronize all subscriptions before changing the filter.

  2. Una suscripción se reinicializa la siguiente vez que se sincroniza: el Agente de distribución (para la replicación transaccional) o el Agente de mezcla (para la replicación de mezcla) aplica la instantánea más reciente a cada suscriptor que tiene una suscripción marcada para reinicialización.A subscription is reinitialized the next time it is synchronized: the Distribution Agent (for transactional replication) or Merge Agent (for merge replication) applies the most recent snapshot to each Subscriber that has a subscription marked for reinitialization. Para obtener más información acerca de cómo sincronizar suscripciones, vea Synchronize a Push Subscription y Synchronize a Pull Subscription.For more information about synchronizing subscriptions, see Synchronize a Push Subscription and Synchronize a Pull Subscription.

Para marcar una sola suscripción de extracción o de inserción para reinicializarla en Management Studio (en el publicador)To mark a single push or pull subscription for reinitialization in Management Studio (at the Publisher)

  1. Conéctese al publicador en Management StudioManagement Studioy, a continuación, expanda el nodo del servidor.Connect to the Publisher in Management StudioManagement Studio, and then expand the server node.

  2. Expanda la carpeta Replicación y, a continuación, expanda la carpeta Publicaciones locales .Expand the Replication folder, and then expand the Local Publications folder.

  3. Expanda la publicación que tiene la suscripción que desea reinicializar.Expand the publication that has the subscription you want to reinitialize.

  4. Haga clic con el botón secundario en la suscripción y, a continuación, haga clic en Reinicializar.Right-click the subscription, and then click Reinitialize.

  5. En el cuadro de diálogo Reinicializar suscripciones , seleccione las opciones y, a continuación, haga clic en Marcar para reinicializar.In the Reinitialize Subscription(s) dialog box, select options, and then click Mark for Reinitialization.

Para marcar una sola suscripción de extracción para reinicializarla en Management Studio (en el suscriptor)To mark a single pull subscription for reinitialization in Management Studio (at the Subscriber)

  1. Conéctese al suscriptor en Management StudioManagement Studioy expanda el nodo de servidor.Connect to the Subscriber in Management StudioManagement Studio, and then expand the server node.

  2. Expanda la carpeta Replicación y, a continuación, expanda la carpeta Suscripciones locales .Expand the Replication folder, and then expand the Local Subscriptions folder.

  3. Haga clic con el botón secundario en la suscripción y, a continuación, haga clic en Reinicializar.Right-click the subscription, and then click Reinitialize.

  4. En el cuadro de diálogo de confirmación que se muestra, haga clic en .In the confirmation dialog box that is displayed, click Yes.

Para marcar todas las suscripciones para reinicializarlas en Management StudioTo mark all subscriptions for reinitialization in Management Studio

  1. Conéctese al publicador en Management StudioManagement Studioy, a continuación, expanda el nodo del servidor.Connect to the Publisher in Management StudioManagement Studio, and then expand the server node.

  2. Expanda la carpeta Replicación y, a continuación, expanda la carpeta Publicaciones locales .Expand the Replication folder, and then expand the Local Publications folder.

  3. Haga clic con el botón secundario en la publicación que tiene las suscripciones que desea reinicializar y, a continuación, haga clic en Reinicializar todas las suscripciones.Right-click the publication with subscriptions you want to reinitialize, and then click Reinitialize All Subscriptions.

  4. En el cuadro de diálogo Reinicializar suscripciones , seleccione las opciones y, a continuación, haga clic en Marcar para reinicializar.In the Reinitialize Subscription(s) dialog box, select options, and then click Mark for Reinitialization.

Para marcar una sola suscripción de inserción o de extracción para reinicializarla en el Monitor de replicaciónTo mark a single push or pull subscription for reinitialization in Replication Monitor

  1. En el Monitor de replicación, expanda un grupo de publicador en el panel izquierdo, expanda un publicador y, a continuación, haga clic en una publicación.In Replication Monitor, expand a Publisher group in the left pane, expand a Publisher, and then click a publication.

  2. Haga clic en la pestaña Todas las suscripciones .Click the All Subscriptions tab.

  3. Haga clic con el botón secundario en la suscripción que desea reinicializar y, a continuación, haga clic en Reinicializar suscripción.Right-click the subscription you want to reinitialize, and then click Reinitialize Subscription.

  4. En el cuadro de diálogo Reinicializar suscripciones , seleccione las opciones y, a continuación, haga clic en Marcar para reinicializar.In the Reinitialize Subscription(s) dialog box, select options, and then click Mark for Reinitialization.

Para marcar todas las suscripciones para reinicializarlas en el Monitor de replicaciónTo mark all subscriptions for reinitialization in Replication Monitor

  1. En el Monitor de replicación, expanda un grupo de publicador en el panel izquierdo y, a continuación, expanda un publicador.In Replication Monitor, expand a Publisher group in the left pane, and then expand a Publisher.

  2. Haga clic con el botón secundario en la publicación que tiene las suscripciones que desea reinicializar y, a continuación, haga clic en Reinicializar todas las suscripciones.Right-click the publication with subscriptions you want to reinitialize, and then click Reinitialize All Subscriptions.

  3. En el cuadro de diálogo Reinicializar suscripciones , seleccione las opciones y, a continuación, haga clic en Marcar para reinicializar.In the Reinitialize Subscription(s) dialog box, select options, and then click Mark for Reinitialization.

Usar Transact-SQL Using Transact-SQL

Las suscripciones pueden reinicializarse mediante programación con procedimientos almacenados de replicación.Subscriptions can be reinitialized programmatically using replication stored procedures. El procedimiento almacenado que se usa depende del tipo de suscripción (inserción o extracción) y el tipo de publicación a la que pertenece la suscripción.The stored procedure that is used depends on the type of subscription (push or pull) and the type of publication to which the subscription belongs.

Para reinicializar una suscripción de extracción a una publicación transaccionalTo reinitialize a pull subscription to a transactional publication

  1. En la base de datos de suscripciones del suscriptor, ejecute sp_reinitpullsubscription (Transact-SQL).At the Subscriber on the subscription database, execute sp_reinitpullsubscription (Transact-SQL). Especifique @publisher, @publisher_dby @publication.Specify @publisher, @publisher_db, and @publication. Esto marca la suscripción para reinicializarla la próxima vez que se ejecute el Agente de distribución.This marks the subscription for reinitialization the next time the Distribution Agent runs.

  2. (Opcional) Inicie el Agente de distribución en el suscriptor para sincronizar la suscripción.(Optional) Start the Distribution Agent at the Subscriber to synchronize the subscription. Para más información, consulte Synchronize a Pull Subscription.For more information, see Synchronize a Pull Subscription.

Para reinicializar una suscripción de inserción a una publicación transaccionalTo reinitialize a push subscription to a transactional publication

  1. En el publicador, ejecute sp_reinitsubscription (Transact-SQL).At the Publisher, execute sp_reinitsubscription (Transact-SQL). Especifique @publication, @subscribery @destination_db.Specify @publication, @subscriber, and @destination_db. Esto marca la suscripción para reinicializarla la próxima vez que se ejecute el Agente de distribución.This marks the subscription for reinitialization the next time the Distribution Agent runs.

  2. (Opcional) Inicie el Agente de distribución en el distribuidor para sincronizar la suscripción.(Optional) Start the Distribution Agent at the Distributor to synchronize the subscription. Para más información, consulte Synchronize a Push Subscription.For more information, see Synchronize a Push Subscription.

Para reinicializar una suscripción de extracción a una publicación de combinaciónTo reinitialize a pull subscription to a merge publication

  1. En la base de datos de suscripciones del suscriptor, ejecute sp_reinitmergepullsubscription (Transact-SQL).At the Subscriber on the subscription database, execute sp_reinitmergepullsubscription (Transact-SQL). Especifique @publisher, @publisher_dby @publication.Specify @publisher, @publisher_db, and @publication. Para cargar los cambios del Suscriptor antes de que se produzca la reinicialización, especifique un valor true para @upload_first.To upload changes from the Subscriber before reinitialization occurs, specify a value of true for @upload_first. Esto marca la suscripción para reinicializarla la próxima vez que se ejecute el Agente de mezcla.This marks the subscription for reinitialization the next time the Merge Agent runs.

    Importante

    Si se agrega, quita o modifica un filtro con parámetros, los cambios pendientes en el suscriptor no se pueden cargar en el publicador durante la reinicialización.If you add, drop, or change a parameterized filter, pending changes at the Subscriber cannot be uploaded to the Publisher during reinitialization. Si desea cargar los cambios pendientes, sincronice todas las suscripciones antes de cambiar el filtro.If you want to upload pending changes, synchronize all subscriptions before changing the filter.

  2. (Opcional) Inicie el Agente de mezcla en el suscriptor para sincronizar la suscripción.(Optional) Start the Merge Agent at the Subscriber to synchronize the subscription. Para más información, consulte Synchronize a Pull Subscription.For more information, see Synchronize a Pull Subscription.

Para reinicializar una suscripción de inserción a una publicación de combinaciónTo reinitialize a push subscription to a merge publication

  1. En el publicador, ejecute sp_reinitmergesubscription (Transact-SQL).At the Publisher, execute sp_reinitmergesubscription (Transact-SQL). Especifique @publication, @subscribery @subscriber_db.Specify @publication, @subscriber, and @subscriber_db. Para cargar los cambios del Suscriptor antes de que se produzca la reinicialización, especifique un valor true para @upload_first.To upload changes from the Subscriber before reinitialization occurs, specify a value of true for @upload_first. Esto marca la suscripción para reinicializarla la próxima vez que se ejecute el Agente de distribución.This marks the subscription for reinitialization the next time the Distribution Agent runs.

    Importante

    Si se agrega, quita o modifica un filtro con parámetros, los cambios pendientes en el suscriptor no se pueden cargar en el publicador durante la reinicialización.If you add, drop, or change a parameterized filter, pending changes at the Subscriber cannot be uploaded to the Publisher during reinitialization. Si desea cargar los cambios pendientes, sincronice todas las suscripciones antes de cambiar el filtro.If you want to upload pending changes, synchronize all subscriptions before changing the filter.

  2. (Opcional) Inicie el Agente de mezcla en el distribuidor para sincronizar la suscripción.(Optional) Start the Merge Agent at the Distributor to synchronize the subscription. Para más información, consulte Synchronize a Push Subscription.For more information, see Synchronize a Push Subscription.

Para establecer la directiva de reinicialización al crear una nueva publicación de combinaciónTo set the reinitialization policy when creating a new merge publication

  1. En el publicador de la base de datos de publicación, ejecute sp_addmergepublication, especificando uno de los valores siguientes para @automatic_reinitialization_policy:At the Publisher on the publication database, execute sp_addmergepublication, specifying one of the following values for @automatic_reinitialization_policy:

    • 1 : los cambios se cargan en el suscriptor antes de que una suscripción se reinicialice automáticamente según lo requiera un cambio a la publicación.1 - changes are uploaded from the Subscriber before a subscription is automatically reinitialized as required by a change to the publication.

    • 0 : los cambios en el suscriptor se descartan cuando una suscripción se reinicializa automáticamente según lo requiera un cambio a la publicación.0 - changes at the Subscriber are discarded when a subscription is automatically reinitialized as required by a change to the publication.

    Importante

    Si se agrega, quita o modifica un filtro con parámetros, los cambios pendientes en el suscriptor no se pueden cargar en el publicador durante la reinicialización.If you add, drop, or change a parameterized filter, pending changes at the Subscriber cannot be uploaded to the Publisher during reinitialization. Si desea cargar los cambios pendientes, sincronice todas las suscripciones antes de cambiar el filtro.If you want to upload pending changes, synchronize all subscriptions before changing the filter.

    Para más información, consulte Create a Publication.For more information, see Create a Publication.

Para cambiar la directiva de reinicialización para una publicación de combinación existenteTo change the reinitialization policy for an existing merge publication

  1. En el publicador de la base de datos de publicación, ejecute sp_changemergepublication, especificando automatic_reinitialization_policy para @property y uno de los siguientes valores para @value:At the Publisher on the publication database, execute sp_changemergepublication, specifying automatic_reinitialization_policy for @property and one of the following values for @value:

    • 1 : los cambios se cargan en el suscriptor antes de que una suscripción se reinicialice automáticamente según lo requiera un cambio a la publicación.1 - changes are uploaded from the Subscriber before a subscription is automatically reinitialized as required by a change to the publication.

    • 0 : los cambios en el suscriptor se descartan cuando una suscripción se reinicializa automáticamente según lo requiera un cambio a la publicación.0 - changes at the Subscriber are discarded when a subscription is automatically reinitialized as required by a change to the publication.

    Importante

    Si se agrega, quita o modifica un filtro con parámetros, los cambios pendientes en el suscriptor no se pueden cargar en el publicador durante la reinicialización.If you add, drop, or change a parameterized filter, pending changes at the Subscriber cannot be uploaded to the Publisher during reinitialization. Si desea cargar los cambios pendientes, sincronice todas las suscripciones antes de cambiar el filtro.If you want to upload pending changes, synchronize all subscriptions before changing the filter.

    Para más información, consulte View and Modify Publication Properties.For more information, see View and Modify Publication Properties.

Usar Replication Management Objects (RMO) Using Replication Management Objects (RMO)

Las suscripciones individuales se pueden marcar para reinicialización de manera que, durante la siguiente sincronización, se aplique una nueva instantánea.Individual subscriptions can be marked for reinitialization so that during the next synchronization, a new snapshot is applied. Las suscripciones se pueden reinicializar mediante programación usando Replication Management Objects (RMO).Subscriptions can be reinitialized programmatically by using Replication Management Objects (RMO). Las clases RMO que usa dependen del tipo de publicación a la que pertenece la suscripción y del tipo de suscripción (es decir, una suscripción de inserción o de extracción).The classes you use depend on the type of publication to which the subscription belongs and the type of subscription (that is, a push or pull subscription).

Para reinicializar una suscripción de extracción a una publicación transaccionalTo reinitialize a pull subscription to a transactional publication

  1. Cree una conexión al suscriptor mediante la clase ServerConnection.Create a connection to the Subscriber by using the ServerConnection class.

  2. Cree una instancia de la clase TransPullSubscription y establezca PublicationName, DatabaseName, PublisherName, PublicationDBName y la conexión del paso 1 para ConnectionContext.Create an instance of the TransPullSubscription class, and set PublicationName, DatabaseName, PublisherName, PublicationDBName, and the connection from step 1 for ConnectionContext.

  3. Llame al método LoadProperties para obtener las propiedades del objeto.Call the LoadProperties method to get the properties of the object.

    Nota

    Si este método devuelve false, significa que las propiedades de suscripción del paso 2 se definieron incorrectamente o que la suscripción de extracción no existe.If this method returns false, either the subscription properties in step 2 were defined incorrectly or the pull subscription does not exist.

  4. Llame al método Reinitialize.Call the Reinitialize method. Este método marca la suscripción para la reinicialización.This method marks the subscription for reinitialization.

  5. Sincronice la suscripción de extracción.Synchronize the pull subscription. Para más información, consulte Synchronize a Pull Subscription.For more information, see Synchronize a Pull Subscription.

Para reinicializar una suscripción de inserción a una publicación transaccionalTo reinitialize a push subscription to a transactional publication

  1. Cree una conexión al publicador mediante la clase ServerConnection.Create a connection to the Publisher by using the ServerConnection class.

  2. Cree una instancia de la clase TransSubscription y establezca PublicationName, DatabaseName, SubscriberName, SubscriptionDBName y la conexión del paso 1 para ConnectionContext.Create an instance of the TransSubscription class, and set PublicationName, DatabaseName, SubscriberName, SubscriptionDBName, and the connection from step 1 for ConnectionContext.

  3. Llame al método LoadProperties para obtener las propiedades del objeto.Call the LoadProperties method to get the properties of the object.

    Nota

    Si este método devuelve false, significa que las propiedades de suscripción del paso 2 se definieron incorrectamente o que la suscripción de inserción no existe.If this method returns false, either the subscription properties in step 2 were defined incorrectly or the push subscription does not exist.

  4. Llame al método Reinitialize.Call the Reinitialize method. Este método marca la suscripción para la reinicialización.This method marks the subscription for reinitialization.

  5. Sincronice la suscripción de inserción.Synchronize the push subscription. Para más información, consulte Synchronize a Push Subscription.For more information, see Synchronize a Push Subscription.

Para reinicializar una suscripción de extracción a una publicación de combinaciónTo reinitialize a pull subscription to a merge publication

  1. Cree una conexión al suscriptor mediante la clase ServerConnection.Create a connection to the Subscriber by using the ServerConnection class.

  2. Cree una instancia de la clase MergePullSubscription y establezca PublicationName, DatabaseName, PublisherName, PublicationDBName y la conexión del paso 1 para ConnectionContext.Create an instance of the MergePullSubscription class, and set PublicationName, DatabaseName, PublisherName, PublicationDBName, and the connection from step 1 for ConnectionContext.

  3. Llame al método LoadProperties para obtener las propiedades del objeto.Call the LoadProperties method to get the properties of the object.

    Nota

    Si este método devuelve false, significa que las propiedades de suscripción del paso 2 se definieron incorrectamente o que la suscripción de extracción no existe.If this method returns false, either the subscription properties in step 2 were defined incorrectly or the pull subscription does not exist.

  4. Llame al método Reinitialize.Call the Reinitialize method. Pase un valor de true para cargar cambios en el Suscriptor antes de la reinicialización o un valor de false para reinicializar y perder cualquier cambio pendiente en el Suscriptor.Pass a value of true to upload changes at the Subscriber before reinitialization or a value of false to reinitialize and lose any pending changes at the Subscriber. Este método marca la suscripción para la reinicialización.This method marks the subscription for reinitialization.

    Nota

    No se pueden cargar los cambios si expira la suscripción.Changes cannot be uploaded if the subscription is expired. Para más información, consulte Set the Expiration Period for Subscriptions.For more information, see Set the Expiration Period for Subscriptions.

  5. Sincronice la suscripción de extracción.Synchronize the pull subscription. Para más información, consulte Synchronize a Pull Subscription.For more information, see Synchronize a Pull Subscription.

Para reinicializar una suscripción de inserción a una publicación de combinaciónTo reinitialize a push subscription to a merge publication

  1. Cree una conexión al publicador mediante la clase ServerConnection.Create a connection to the Publisher by using the ServerConnection class.

  2. Cree una instancia de la clase MergeSubscription y establezca PublicationName, DatabaseName, SubscriberName, SubscriptionDBName y la conexión del paso 1 para ConnectionContext.Create an instance of the MergeSubscription class, and set PublicationName, DatabaseName, SubscriberName, SubscriptionDBName, and the connection from step 1 for ConnectionContext.

  3. Llame al método LoadProperties para obtener las propiedades del objeto.Call the LoadProperties method to get the properties of the object.

    Nota

    Si este método devuelve false, significa que las propiedades de suscripción del paso 2 se definieron incorrectamente o que la suscripción de inserción no existe.If this method returns false, either the subscription properties in step 2 were defined incorrectly or the push subscription does not exist.

  4. Llame al método Reinitialize.Call the Reinitialize method. Pase un valor de true para cargar cambios en el Suscriptor antes de la reinicialización o un valor de false para reinicializar y perder cualquier cambio pendiente en el Suscriptor.Pass a value of true to upload changes at the Subscriber before reinitialization or a value of false to reinitialize and lose any pending changes at the Subscriber. Este método marca la suscripción para la reinicialización.This method marks the subscription for reinitialization.

    Nota

    No se pueden cargar los cambios si expira la suscripción.Changes cannot be uploaded if the subscription is expired. Para más información, consulte Set the Expiration Period for Subscriptions.For more information, see Set the Expiration Period for Subscriptions.

  5. Sincronice la suscripción de inserción.Synchronize the push subscription. Para más información, consulte Synchronize a Push Subscription.For more information, see Synchronize a Push Subscription.

Ejemplos (RMO) Examples (RMO)

En este ejemplo reinicializa una suscripción de extracción para una publicación transaccional.This example reinitializes a pull subscription to a transactional publication.

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

// Create a connection to the Subscriber.
ServerConnection conn = new ServerConnection(subscriberName);

TransPullSubscription subscription;

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

	// Define subscription properties.
	subscription = new TransPullSubscription();
	subscription.ConnectionContext = conn;
             subscription.DatabaseName = subscriptionDbName;
	subscription.PublisherName = publisherName;
	subscription.PublicationDBName = publicationDbName;
	subscription.PublicationName = publicationName;

	// If the pull subscription and the job exists, mark the subscription
	// for reinitialization and start the agent job.
	if (subscription.LoadProperties() && subscription.AgentJobId != null)
	{
		subscription.Reinitialize();
		subscription.SynchronizeWithJob();
	}
	else
	{
		// Do something here if the subscription does not exist.
		throw new ApplicationException(String.Format(
			"A subscription to '{0}' does not exists on {1}",
			publicationName, subscriberName));
	}
}
catch (Exception ex)
{
	// Do appropriate error handling here.
	throw new ApplicationException("The subscription could not be reinitialized.", ex);
}
finally
{
	conn.Disconnect();
}
' Define server, publication, and database names.
Dim subscriberName As String = subscriberInstance
Dim publisherName As String = publisherInstance
Dim publicationName As String = "AdvWorksProductTran"
Dim publicationDbName As String = "AdventureWorks2012"
Dim subscriptionDbName As String = "AdventureWorks2012Replica"

' Create a connection to the Subscriber.
Dim conn As ServerConnection = New ServerConnection(subscriberName)

Dim subscription As TransPullSubscription

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

    ' Define subscription properties.
    subscription = New TransPullSubscription()
    subscription.ConnectionContext = conn
    subscription.DatabaseName = subscriptionDbName
    subscription.PublisherName = publisherName
    subscription.PublicationDBName = publicationDbName
    subscription.PublicationName = publicationName

    ' If the pull subscription and the job exists, mark the subscription
    ' for reinitialization and start the agent job.
    If subscription.LoadProperties() And (Not subscription.AgentJobId Is Nothing) Then
        subscription.Reinitialize()
        subscription.SynchronizeWithJob()
    Else
        ' Do something here if the subscription does not exist.
        Throw New ApplicationException(String.Format( _
         "A subscription to '{0}' does not exists on {1}", _
         publicationName, subscriberName))
    End If
Catch ex As Exception
    ' Do appropriate error handling here.
    Throw New ApplicationException("The subscription could not be reinitialized.", ex)
Finally
    conn.Disconnect()
End Try

Este ejemplo reinicializa una suscripción de extracción a una publicación de combinación después de cargar primero los cambios pendientes en el Suscriptor.This example reinitializes a pull subscription to a merge publication after first uploading pending changes at the Subscriber.

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

// Create a connection to the Subscriber.
ServerConnection conn = new ServerConnection(subscriberName);

MergePullSubscription subscription;

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

	// Define subscription properties.
	subscription = new MergePullSubscription();
	subscription.ConnectionContext = conn;
             subscription.DatabaseName = subscriptionDbName;
	subscription.PublisherName = publisherName;
	subscription.PublicationDBName = publicationDbName;
	subscription.PublicationName = publicationName;

	// If the pull subscription and the job exists, mark the subscription
	// for reinitialization after upload and start the agent job.
	if (subscription.LoadProperties() && subscription.AgentJobId != null)
	{
		subscription.Reinitialize(true);
		subscription.SynchronizeWithJob();
	}
	else
	{
		// Do something here if the subscription does not exist.
		throw new ApplicationException(String.Format(
			"A subscription to '{0}' does not exists on {1}",
			publicationName, subscriberName));
	}
}
catch (Exception ex)
{
	// Do appropriate error handling here.
	throw new ApplicationException("The subscription could not be synchronized.", ex);
}
finally
{
	conn.Disconnect();
}
' Define server, publication, and database names.
Dim subscriberName As String = subscriberInstance
Dim publisherName As String = publisherInstance
Dim publicationName As String = "AdvWorksSalesOrdersMerge"
Dim publicationDbName As String = "AdventureWorks2012"
Dim subscriptionDbName As String = "AdventureWorks2012Replica"

' Create a connection to the Subscriber.
Dim conn As ServerConnection = New ServerConnection(subscriberName)

Dim subscription As MergePullSubscription

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

    ' Define subscription properties.
    subscription = New MergePullSubscription()
    subscription.ConnectionContext = conn
    subscription.DatabaseName = subscriptionDbName
    subscription.PublisherName = publisherName
    subscription.PublicationDBName = publicationDbName
    subscription.PublicationName = publicationName

    ' If the pull subscription and the job exists, mark the subscription
    ' for reinitialization after upload and start the agent job.
    If subscription.LoadProperties() And (Not subscription.AgentJobId Is Nothing) Then
        subscription.Reinitialize(True)
        subscription.SynchronizeWithJob()
    Else
        ' Do something here if the subscription does not exist.
        Throw New ApplicationException(String.Format( _
         "A subscription to '{0}' does not exists on {1}", _
         publicationName, subscriberName))
    End If
Catch ex As Exception
    ' Do appropriate error handling here.
    Throw New ApplicationException("The subscription could not be synchronized.", ex)
Finally
    conn.Disconnect()
End Try

Vea tambiénSee Also

Reinicializar suscripciones Reinitialize Subscriptions
Replication Management Objects Concepts Replication Management Objects Concepts
Replication Security Best Practices Replication Security Best Practices