TransPullSubscription 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 de extracción a una publicación transaccional.
public ref class TransPullSubscription sealed : Microsoft::SqlServer::Replication::PullSubscription
public sealed class TransPullSubscription : Microsoft.SqlServer.Replication.PullSubscription
type TransPullSubscription = class
inherit PullSubscription
Public NotInheritable Class TransPullSubscription
Inherits PullSubscription
- Herencia
Ejemplos
// Define the Publisher, publication, and databases.
string publicationName = "AdvWorksProductTran";
string publisherName = publisherInstance;
string subscriberName = subscriberInstance;
string subscriptionDbName = "AdventureWorks2012Replica";
string publicationDbName = "AdventureWorks2012";
//Create connections to the Publisher and Subscriber.
ServerConnection subscriberConn = new ServerConnection(subscriberName);
ServerConnection publisherConn = new ServerConnection(publisherName);
// Create the objects that we need.
TransPublication publication;
TransPullSubscription subscription;
try
{
// Connect to the Publisher and Subscriber.
subscriberConn.Connect();
publisherConn.Connect();
// Ensure that the publication exists and that
// it supports pull subscriptions.
publication = new TransPublication();
publication.Name = publicationName;
publication.DatabaseName = publicationDbName;
publication.ConnectionContext = publisherConn;
if (publication.IsExistingObject)
{
if ((publication.Attributes & PublicationAttributes.AllowPull) == 0)
{
publication.Attributes |= PublicationAttributes.AllowPull;
}
// Define the pull subscription.
subscription = new TransPullSubscription();
subscription.ConnectionContext = subscriberConn;
subscription.PublisherName = publisherName;
subscription.PublicationName = publicationName;
subscription.PublicationDBName = publicationDbName;
subscription.DatabaseName = subscriptionDbName;
// Specify the Windows login credentials for the Distribution Agent job.
subscription.SynchronizationAgentProcessSecurity.Login = winLogin;
subscription.SynchronizationAgentProcessSecurity.Password = winPassword;
// Make sure that the agent job for the subscription is created.
subscription.CreateSyncAgentByDefault = true;
// By default, subscriptions to transactional publications are synchronized
// continuously, but in this case we only want to synchronize on demand.
subscription.AgentSchedule.FrequencyType = ScheduleFrequencyType.OnDemand;
// Create the pull subscription at the Subscriber.
subscription.Create();
Boolean registered = false;
// Verify that the subscription is not already registered.
foreach (TransSubscription existing
in publication.EnumSubscriptions())
{
if (existing.SubscriberName == subscriberName
&& existing.SubscriptionDBName == subscriptionDbName)
{
registered = true;
}
}
if (!registered)
{
// Register the subscription with the Publisher.
publication.MakePullSubscriptionWellKnown(
subscriberName, subscriptionDbName,
SubscriptionSyncType.Automatic,
TransSubscriberType.ReadOnly);
}
}
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 = "AdvWorksProductTran"
Dim publisherName As String = publisherInstance
Dim subscriberName As String = subscriberInstance
Dim subscriptionDbName As String = "AdventureWorks2012Replica"
Dim publicationDbName As String = "AdventureWorks2012"
'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 TransPublication
Dim subscription As TransPullSubscription
Try
' Connect to the Publisher and Subscriber.
subscriberConn.Connect()
publisherConn.Connect()
' Ensure that the publication exists and that
' it supports pull subscriptions.
publication = New TransPublication()
publication.Name = publicationName
publication.DatabaseName = publicationDbName
publication.ConnectionContext = publisherConn
If publication.IsExistingObject Then
If (publication.Attributes And PublicationAttributes.AllowPull) = 0 Then
publication.Attributes = publication.Attributes _
Or PublicationAttributes.AllowPull
End If
' Define the pull subscription.
subscription = New TransPullSubscription()
subscription.ConnectionContext = subscriberConn
subscription.PublisherName = publisherName
subscription.PublicationName = publicationName
subscription.PublicationDBName = publicationDbName
subscription.DatabaseName = subscriptionDbName
subscription.Description = "Pull subscription to " + publicationDbName _
+ " on " + subscriberName + "."
' Specify the Windows login credentials for the Distribution Agent job.
subscription.SynchronizationAgentProcessSecurity.Login = winLogin
subscription.SynchronizationAgentProcessSecurity.Password = winPassword
' Make sure that the agent job for the subscription is created.
subscription.CreateSyncAgentByDefault = True
' By default, subscriptions to transactional publications are synchronized
' continuously, but in this case we only want to synchronize on demand.
subscription.AgentSchedule.FrequencyType = ScheduleFrequencyType.OnDemand
' 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 TransSubscription In publication.EnumSubscriptions()
If existing.SubscriberName = subscriberName And _
existing.SubscriptionDBName = subscriptionDbName Then
registered = True
End If
Next existing
If Not registered Then
' Register the subscription with the Publisher.
publication.MakePullSubscriptionWellKnown( _
subscriberName, subscriptionDbName, _
SubscriptionSyncType.Automatic, _
TransSubscriberType.ReadOnly)
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 distribución se ejecuta en el suscriptor.
Seguridad para subprocesos
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
TransPullSubscription() |
Crea una nueva instancia de la clase TransPullSubscription. |
TransPullSubscription(String, String, String, String, ServerConnection) |
Crea una instancia de la clase TransPullSubscription con las propiedades que definen una suscripción de extracción. |
TransPullSubscription(String, String, String, String, ServerConnection, Boolean) |
Crea una instancia de la clase TransPullSubscription con las propiedades que definen una suscripción de extracción y define si se crea o no el trabajo de agente para la suscripción. |
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 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 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) |
Attributes |
Obtiene o establece los atributos de una publicación transaccional que admite la suscripción. |
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) |
DtsPackageLocation |
Obtiene o establece la ubicación del paquete de Servicios de transformación de datos (DTS) utilizado con una suscripción transformable. |
DtsPackageName |
Obtiene o establece el nombre del paquete de Servicios de transformación de datos (DTS) utilizado en una suscripción transformable. |
DtsPackagePassword |
Obtiene o establece la contraseña que se usa con una suscripción transformable. |
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) |
IsExistingObject |
Obtiene si el objeto existe en el servidor. (Heredado de ReplicationObject) |
IsMemoryOptimized |
Representa una suscripción de extracción a una publicación transaccional. (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) |
LastSummaryDateTime |
Obtiene la fecha y hora de finalización de la última sincronización. |
MemoryOptimized |
Representa una suscripción de extracción a una publicación transaccional. |
Name |
Obtiene el nombre generado para la suscripción de extracción. (Heredado de PullSubscription) |
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) |
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 el comportamiento de actualización de la suscripción. |
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 distribución 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) |
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) |
UserData |
Obtiene o establece una propiedad de un objeto que permite a los usuarios adjuntar sus propios datos al objeto. (Heredado de ReplicationObject) |
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) |
DoUpdateMemoryOptimizedProperty(String) |
Representa una suscripción de extracción a una publicación transaccional. |
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() |
Marca la suscripción de extracción 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 propiedad actual del PullSubscription objeto. (Heredado de PullSubscription) |
StopSynchronizationJob() |
Intenta detener un trabajo del Agente de distribución en ejecución que está sincronizando la suscripción actualmente. |
SynchronizeWithJob() |
Inicia el trabajo del agente para sincronizar la suscripción. |