TransSubscription 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 push a una publicación transaccional o snapshot.
public ref class TransSubscription sealed : Microsoft::SqlServer::Replication::Subscription
public sealed class TransSubscription : Microsoft.SqlServer.Replication.Subscription
type TransSubscription = class
inherit Subscription
Public NotInheritable Class TransSubscription
Inherits Subscription
- Herencia
Ejemplos
// Define the Publisher, publication, and databases.
string publicationName = "AdvWorksProductTran";
string publisherName = publisherInstance;
string subscriberName = subscriberInstance;
string subscriptionDbName = "AdventureWorks2012Replica";
string publicationDbName = "AdventureWorks2012";
//Create a connection to the Publisher.
ServerConnection conn = new ServerConnection(publisherName);
// Create the objects that we need.
TransPublication publication;
TransSubscription subscription;
try
{
// Connect to the Publisher.
conn.Connect();
// Ensure that the publication exists and that
// it supports push subscriptions.
publication = new TransPublication();
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 TransSubscription();
subscription.ConnectionContext = conn;
subscription.SubscriberName = subscriberName;
subscription.PublicationName = publicationName;
subscription.DatabaseName = publicationDbName;
subscription.SubscriptionDBName = subscriptionDbName;
// Specify the Windows login credentials for the Distribution Agent job.
subscription.SynchronizationAgentProcessSecurity.Login = winLogin;
subscription.SynchronizationAgentProcessSecurity.Password = winPassword;
// 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 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 = "AdvWorksProductTran"
Dim publisherName As String = publisherInstance
Dim subscriberName As String = subscriberInstance
Dim subscriptionDbName As String = "AdventureWorks2012Replica"
Dim publicationDbName As String = "AdventureWorks2012"
'Create a connection to the Publisher.
Dim conn As ServerConnection = New ServerConnection(publisherName)
' Create the objects that we need.
Dim publication As TransPublication
Dim subscription As TransSubscription
Try
' Connect to the Publisher.
conn.Connect()
' Ensure that the publication exists and that
' it supports push subscriptions.
publication = New TransPublication()
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 TransSubscription()
subscription.ConnectionContext = conn
subscription.SubscriberName = subscriberName
subscription.PublicationName = publicationName
subscription.DatabaseName = publicationDbName
subscription.SubscriptionDBName = subscriptionDbName
' Specify the Windows login credentials for the Distribution Agent job.
subscription.SynchronizationAgentProcessSecurity.Login = winLogin
subscription.SynchronizationAgentProcessSecurity.Password = winPassword
' 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 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
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_reinitsubscription (Transact-SQL).
Cuando la suscripción pertenece a una no SQL Server Publisher, la ConnectionContext propiedad se establece como el Distribuidor en lugar de Publisher, la DatabaseName propiedad se asigna a la base de datos de distribución en lugar de la base de datos de publicación, y la PublisherName propiedad se establece al nombre del no SQL Server Publisher.
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 |
|---|---|
| TransSubscription() |
Crea una nueva instancia de la clase TransSubscription. |
| TransSubscription(String, String, String, String, ServerConnection) |
Crea una nueva instancia de la TransSubscription clase con la publicación, base de datos, base de datos de suscriptores y base de datos de suscriptores especificadas, y con la conexión especificada a la instancia de Microsoft SQL Server. |
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) |
| BackupInformation |
Obtiene o establece la información necesaria para iniciar una suscripción a partir de una copia de seguridad. |
| 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) |
| DtsPackageLocation |
Obtiene o establece la ubicación del paquete Microsoft SQL Server 2000 Data Transformation Services (DTS). |
| DtsPackageName |
Obtiene o establece el nombre del paquete Microsoft SQL Server 2000 Data Transformation Services (DTS) que se aplica al Suscriptor. |
| DtsPackagePassword |
Establece la contraseña utilizada para ejecutar el paquete Microsoft SQL Server 2000 Data Transformation Services (DTS). |
| EnabledForSynchronizationManager |
Especifica si la suscripción puede sincronizarse usando Microsoft Windows Gestor de Sincronización. (Heredado de Subscription) |
| FullSubscription |
Obtiene un valor que indica si la suscripción está completa. |
| IsExistingObject |
Anota si el objeto existe en el servidor o no. (Heredado de ReplicationObject) |
| LoopBackDetection |
Obtiene o establece si el Agente de distribución envía o no las transacciones originadas en el Suscriptor de vuelta al Suscriptor. |
| MemoryOptimized |
Representa una suscripción push a una publicación transaccional o snapshot. |
| Name |
Recibe el nombre asignado a una suscripción existente. (Heredado de Subscription) |
| PublicationName |
Obtiene o establece el nombre de la publicación a la que se suscribe la suscripción. (Heredado de Subscription) |
| PublisherName |
Recibe o establece el nombre del Publisher cuando la suscripción pertenece a un no SQL Server Publisher. |
| SecureDtsPackagePassword |
Establece la contraseña (como objetoSecureString) utilizada para ejecutar el paquete Microsoft SQL Server 2000 Data Transformation Services (DTS). |
| 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) |
| SubscriberCatalog |
Obtiene o establece el catálogo utilizado al conectar con el proveedor de OLE DB para un suscriptor que no es SQL Server. |
| SubscriberDatasource |
Nombre de la fuente de datos según lo entienda el proveedor de OLE DB para un suscriptor no SQL Server. |
| SubscriberDatasourceType |
Identifica el tipo de fuente de datos que no es suscriptor de SQL Server. |
| SubscriberLocation |
Ubicación de la base de datos según lo entendido por el proveedor OLE DB para el suscriptor no SQL Server. |
| SubscriberName |
Obtiene o establece el nombre de la instancia de Microsoft SQL Server que es el Suscriptor. (Heredado de Subscription) |
| SubscriberProvider |
Identificador programático único (PROGID) con el que está registrado el proveedor OLE DB para el suscriptor no SQL Server |
| SubscriberProviderString |
Se utiliza cadena de conexión específica de proveedor de OLE DB para conectarse a la fuente de datos para suscriptores no SQL Server. |
| SubscriberSecurity |
Obtiene el contexto de seguridad que se usa para conectarse al Suscriptor. (Heredado de Subscription) |
| SubscriberType |
Obtiene o establece el comportamiento de actualización para cambios de datos en el Suscriptor. |
| SubscriptionDBName |
Obtiene o establece el nombre de la base de datos en el Suscriptor que recibe los datos replicados. (Heredado de Subscription) |
| SubscriptionLSN |
Obtiene o establece el número de secuencia de registro de la suscripción. |
| SubscriptionType |
Determina si la suscripción es para una suscripción push o pull. (Heredado de Subscription) |
| SynchronizationAgent |
Obtiene una instancia de la TransSynchronizationAgent 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) |
| 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) |
| DoUpdateMemoryOptimizedProperty(String) |
Representa una suscripción push a una publicación transaccional o snapshot. |
| 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() |
Marca la suscripción para la reinicialización la próxima vez que el Agente de distribución se ejecute para sincronizar la suscripción. |
| Reinitialize(Boolean) |
Reinicia la suscripció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 distribución en ejecución que actualmente está sincronizando la suscripción. |
| SynchronizeWithJob() |
Inicia el trabajo del agente para sincronizar la suscripción. |