MergeSubscription 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 a una publicación de fusión registrada en el Publisher.
public ref class MergeSubscription sealed : Microsoft::SqlServer::Replication::Subscription
public sealed class MergeSubscription : Microsoft.SqlServer.Replication.Subscription
type MergeSubscription = class
inherit Subscription
Public NotInheritable Class MergeSubscription
Inherits Subscription
- 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 a connection to the Publisher.
ServerConnection conn = new ServerConnection(publisherName);
// Create the objects that we need.
MergePublication publication;
MergeSubscription subscription;
try
{
// Connect to the Publisher.
conn.Connect();
// Ensure that the publication exists and that
// it supports push subscriptions.
publication = new MergePublication();
publication.Name = publicationName;
publication.DatabaseName = publicationDbName;
publication.ConnectionContext = conn;
if (publication.IsExistingObject)
{
if ((publication.Attributes & PublicationAttributes.AllowPush) == 0)
{
publication.Attributes |= PublicationAttributes.AllowPush;
}
// Define the push subscription.
subscription = new MergeSubscription();
subscription.ConnectionContext = conn;
subscription.SubscriberName = subscriberName;
subscription.PublicationName = publicationName;
subscription.DatabaseName = publicationDbName;
subscription.SubscriptionDBName = subscriptionDbName;
subscription.HostName = hostname;
// Set a schedule to synchronize the subscription every 2 hours
// during weekdays from 6am to 10pm.
subscription.AgentSchedule.FrequencyType = ScheduleFrequencyType.Weekly;
subscription.AgentSchedule.FrequencyInterval = Convert.ToInt32(0x003E);
subscription.AgentSchedule.FrequencyRecurrenceFactor = 1;
subscription.AgentSchedule.FrequencySubDay = ScheduleFrequencySubDay.Hour;
subscription.AgentSchedule.FrequencySubDayInterval = 2;
subscription.AgentSchedule.ActiveStartDate = 20051108;
subscription.AgentSchedule.ActiveEndDate = 20071231;
subscription.AgentSchedule.ActiveStartTime = 060000;
subscription.AgentSchedule.ActiveEndTime = 100000;
// Specify the Windows login credentials for the Merge Agent job.
subscription.SynchronizationAgentProcessSecurity.Login = winLogin;
subscription.SynchronizationAgentProcessSecurity.Password = winPassword;
// Create the push subscription.
subscription.Create();
}
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
{
conn.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 a connection to the Publisher.
Dim conn As ServerConnection = New ServerConnection(publisherName)
' Create the objects that we need.
Dim publication As MergePublication
Dim subscription As MergeSubscription
Try
' Connect to the Publisher.
conn.Connect()
' Ensure that the publication exists and that
' it supports push subscriptions.
publication = New MergePublication()
publication.Name = publicationName
publication.DatabaseName = publicationDbName
publication.ConnectionContext = conn
If publication.IsExistingObject Then
If (publication.Attributes And PublicationAttributes.AllowPush) = 0 Then
publication.Attributes = publication.Attributes _
Or PublicationAttributes.AllowPush
End If
' Define the push subscription.
subscription = New MergeSubscription()
subscription.ConnectionContext = conn
subscription.SubscriberName = subscriberName
subscription.PublicationName = publicationName
subscription.DatabaseName = publicationDbName
subscription.SubscriptionDBName = subscriptionDbName
subscription.HostName = hostname
' Set a schedule to synchronize the subscription every 2 hours
' during weekdays from 6am to 10pm.
subscription.AgentSchedule.FrequencyType = ScheduleFrequencyType.Weekly
subscription.AgentSchedule.FrequencyInterval = Convert.ToInt32("0x003E", 16)
subscription.AgentSchedule.FrequencyRecurrenceFactor = 1
subscription.AgentSchedule.FrequencySubDay = ScheduleFrequencySubDay.Hour
subscription.AgentSchedule.FrequencySubDayInterval = 2
subscription.AgentSchedule.ActiveStartDate = 20051108
subscription.AgentSchedule.ActiveEndDate = 20071231
subscription.AgentSchedule.ActiveStartTime = 60000
subscription.AgentSchedule.ActiveEndTime = 100000
' Specify the Windows login credentials for the Merge Agent job.
subscription.SynchronizationAgentProcessSecurity.Login = winLogin
subscription.SynchronizationAgentProcessSecurity.Password = winPassword
' Create the push subscription.
subscription.Create()
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
conn.Disconnect()
End Try
Comentarios
La MergeSubscription clase se utiliza tanto con suscripciones pull como push a una publicación de fusión.
Al configurar un Publisher con un distribuidor remoto, los valores suministrados para todos los parámetros, incluido SynchronizationAgentProcessSecurity, se envían al distribuidor en texto plano. Debe cifrar la conexión entre el publicador y su distribuidor remoto antes de llamar al método Create . Para más información, véase sp_reinitmergesubscription (Transact-SQL).
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 |
|---|---|
| MergeSubscription() |
Crea una nueva instancia de la clase MergeSubscription. |
| MergeSubscription(String, String, String, String, ServerConnection) |
Crea una nueva instancia de la MergeSubscription clase con la conexión especificada al Publisher y las propiedades que definen de forma única la suscripción. |
Propiedades
| Nombre | Description |
|---|---|
| AgentJobId |
Obtiene el ID del trabajo agente que se usa para sincronizar la suscripción. (Heredado de Subscription) |
| AgentOffload |
Obtiene o establece si el agente de sincronización se ejecuta en un ordenador distinto al 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 Subscription) |
| AgentOffloadServer |
Obtiene o establece el nombre del ordenador remoto donde se ejecuta el agente al usar activación remota. (Heredado de Subscription) |
| AgentSchedule |
Obtiene el horario del trabajo de agente que se usa para sincronizar la suscripción. (Heredado de Subscription) |
| 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 de agente utilizado para sincronizar la suscripción se crea por defecto. (Heredado de Subscription) |
| DatabaseName |
Obtiene o establece el nombre de la base de datos de publicaciones. (Heredado de Subscription) |
| Description |
Obtiene o establece una descripción textual de la suscripción de fusión. |
| EnabledForSynchronizationManager |
Especifica si la suscripción puede sincronizarse usando Microsoft Windows Gestor de Sincronización. (Heredado de Subscription) |
| 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. |
| IsExistingObject |
Anota si el objeto existe en el servidor o no. (Heredado de ReplicationObject) |
| Name |
Recibe el nombre asignado a una suscripción existente. (Heredado de Subscription) |
| Priority |
Obtiene o establece el valor de prioridad relativa asignado a una suscripción de servidor. |
| PublicationName |
Obtiene o establece el nombre de la publicación a la que se suscribe la suscripción. (Heredado de Subscription) |
| PublisherSecurity |
Obtiene el contexto de seguridad que usa el Agente de mezcla para conectarse al Publisher. |
| SqlServerName |
Obtiene el nombre de la instancia de Microsoft SQL Server a la que está conectado este objeto. (Heredado de ReplicationObject) |
| Status |
Obtiene el estado de la suscripción. (Heredado de Subscription) |
| SubscriberName |
Obtiene o establece el nombre de la instancia de Microsoft SQL Server que es el Suscriptor. (Heredado de Subscription) |
| SubscriberSecurity |
Obtiene el contexto de seguridad que se usa para conectarse al Suscriptor. (Heredado de Subscription) |
| SubscriberType |
Obtiene o establece si la suscripción es de cliente o servidor. |
| SubscriptionDBName |
Obtiene o establece el nombre de la base de datos en el Suscriptor que recibe los datos replicados. (Heredado de Subscription) |
| SubscriptionType |
Determina si la suscripción es para una suscripción push o pull. (Heredado de Subscription) |
| SynchronizationAgent |
Obtiene una instancia de la MergeSynchronizationAgent clase que puede usarse para sincronizar la suscripción. |
| SynchronizationAgentName |
Obtiene o establece el nombre del trabajo de agente creado para sincronizar la suscripción. (Heredado de Subscription) |
| 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 Subscription) |
| SyncType |
Obtiene o establece la forma en que se inicia la suscripción. (Heredado de Subscription) |
| 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) |
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 de suscripción es válida. (Heredado de Subscription) |
| CommitPropertyChanges() |
Envía todas las sentencias de cambio de propiedades en caché a la instancia de Microsoft SQL Server. (Heredado de ReplicationObject) |
| Create() |
Crea el registro de suscripción en el Publisher. (Heredado de Subscription) |
| Decouple() |
Desacopla el objeto de replicación referenciado del servidor. (Heredado de ReplicationObject) |
| 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) |
| InternalRefresh(Boolean) |
Inicia una actualización interna desde la replicación. (Heredado de ReplicationObject) |
| 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 el registro de suscripción en el Publisher y elimina los objetos de replicación en el Suscriptor para una suscripción push. (Heredado de Subscription) |
| Script(ScriptOptions) |
Devuelve un script Transact-SQL que puede usarse para crear o eliminar la suscripción. (Heredado de Subscription) |
| 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 para sincronizar la suscripción. |