TransPublication 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 publicación transaccional.
public ref class TransPublication sealed : Microsoft::SqlServer::Replication::Publication
public sealed class TransPublication : Microsoft.SqlServer.Replication.Publication
type TransPublication = class
inherit Publication
Public NotInheritable Class TransPublication
Inherits Publication
- Herencia
Ejemplos
Este ejemplo crea una publicación transaccional.
// Set the Publisher, publication database, and publication names.
string publicationName = "AdvWorksProductTran";
string publicationDbName = "AdventureWorks2012";
string publisherName = publisherInstance;
ReplicationDatabase publicationDb;
TransPublication publication;
// Create a connection to the Publisher using Windows Authentication.
ServerConnection conn;
conn = new ServerConnection(publisherName);
try
{
// Connect to the Publisher.
conn.Connect();
// Enable the AdventureWorks2012 database for transactional publishing.
publicationDb = new ReplicationDatabase(publicationDbName, conn);
// If the database exists and is not already enabled,
// enable it for transactional publishing.
if (publicationDb.LoadProperties())
{
if (!publicationDb.EnabledTransPublishing)
{
publicationDb.EnabledTransPublishing = true;
}
// If the Log Reader Agent does not exist, create it.
if (!publicationDb.LogReaderAgentExists)
{
// Specify the Windows account under which the agent job runs.
// This account will be used for the local connection to the
// Distributor and all agent connections that use Windows Authentication.
publicationDb.LogReaderAgentProcessSecurity.Login = winLogin;
publicationDb.LogReaderAgentProcessSecurity.Password = winPassword;
// Explicitly set authentication mode for the Publisher connection
// to the default value of Windows Authentication.
publicationDb.LogReaderAgentPublisherSecurity.WindowsAuthentication = true;
// Create the Log Reader Agent job.
publicationDb.CreateLogReaderAgent();
}
}
else
{
throw new ApplicationException(String.Format(
"The {0} database does not exist at {1}.",
publicationDb, publisherName));
}
// Set the required properties for the transactional publication.
publication = new TransPublication();
publication.ConnectionContext = conn;
publication.Name = publicationName;
publication.DatabaseName = publicationDbName;
// Specify a transactional publication (the default).
publication.Type = PublicationType.Transactional;
// Activate the publication so that we can add subscriptions.
publication.Status = State.Active;
// Enable push and pull subscriptions and independent Distribition Agents.
publication.Attributes |= PublicationAttributes.AllowPull;
publication.Attributes |= PublicationAttributes.AllowPush;
publication.Attributes |= PublicationAttributes.IndependentAgent;
// Specify the Windows account under which the Snapshot Agent job runs.
// This account will be used for the local connection to the
// Distributor and all agent connections that use Windows Authentication.
publication.SnapshotGenerationAgentProcessSecurity.Login = winLogin;
publication.SnapshotGenerationAgentProcessSecurity.Password = winPassword;
// Explicitly set the security mode for the Publisher connection
// Windows Authentication (the default).
publication.SnapshotGenerationAgentPublisherSecurity.WindowsAuthentication = true;
if (!publication.IsExistingObject)
{
// Create the transactional publication.
publication.Create();
// Create a Snapshot Agent job for the publication.
publication.CreateSnapshotAgent();
}
else
{
throw new ApplicationException(String.Format(
"The {0} publication already exists.", publicationName));
}
}
catch (Exception ex)
{
// Implement custom application error handling here.
throw new ApplicationException(String.Format(
"The publication {0} could not be created.", publicationName), ex);
}
finally
{
conn.Disconnect();
}
' Set the Publisher, publication database, and publication names.
Dim publicationName As String = "AdvWorksProductTran"
Dim publicationDbName As String = "AdventureWorks2012"
Dim publisherName As String = publisherInstance
Dim publicationDb As ReplicationDatabase
Dim publication As TransPublication
' Create a connection to the Publisher using Windows Authentication.
Dim conn As ServerConnection
conn = New ServerConnection(publisherName)
Try
' Connect to the Publisher.
conn.Connect()
' Enable the AdventureWorks2012 database for transactional publishing.
publicationDb = New ReplicationDatabase(publicationDbName, conn)
' If the database exists and is not already enabled,
' enable it for transactional publishing.
If publicationDb.LoadProperties() Then
If Not publicationDb.EnabledTransPublishing Then
publicationDb.EnabledTransPublishing = True
End If
' If the Log Reader Agent does not exist, create it.
If Not publicationDb.LogReaderAgentExists Then
' Specify the Windows account under which the agent job runs.
' This account will be used for the local connection to the
' Distributor and all agent connections that use Windows Authentication.
publicationDb.LogReaderAgentProcessSecurity.Login = winLogin
publicationDb.LogReaderAgentProcessSecurity.Password = winPassword
' Explicitly set authentication mode for the Publisher connection
' to the default value of Windows Authentication.
publicationDb.LogReaderAgentPublisherSecurity.WindowsAuthentication = True
' Create the Log Reader Agent job.
publicationDb.CreateLogReaderAgent()
End If
Else
Throw New ApplicationException(String.Format( _
"The {0} database does not exist at {1}.", _
publicationDb, publisherName))
End If
' Set the required properties for the transactional publication.
publication = New TransPublication()
publication.ConnectionContext = conn
publication.Name = publicationName
publication.DatabaseName = publicationDbName
' Specify a transactional publication (the default).
publication.Type = PublicationType.Transactional
'Enable push and pull subscriptions and independent Distribition Agents.
publication.Attributes = _
publication.Attributes Or PublicationAttributes.AllowPull
publication.Attributes = _
publication.Attributes Or PublicationAttributes.AllowPush
publication.Attributes = _
publication.Attributes Or PublicationAttributes.IndependentAgent
' Activate the publication so that we can add subscriptions.
publication.Status = State.Active
' Specify the Windows account under which the Snapshot Agent job runs.
' This account will be used for the local connection to the
' Distributor and all agent connections that use Windows Authentication.
publication.SnapshotGenerationAgentProcessSecurity.Login = winLogin
publication.SnapshotGenerationAgentProcessSecurity.Password = winPassword
' Explicitly set the security mode for the Publisher connection
' Windows Authentication (the default).
publication.SnapshotGenerationAgentPublisherSecurity.WindowsAuthentication = True
If Not publication.IsExistingObject Then
' Create the transactional publication.
publication.Create()
' Create a Snapshot Agent job for the publication.
publication.CreateSnapshotAgent()
Else
Throw New ApplicationException(String.Format( _
"The {0} publication already exists.", publicationName))
End If
Catch ex As Exception
' Implement custom application error handling here.
Throw New ApplicationException(String.Format( _
"The publication {0} could not be created.", publicationName), ex)
Finally
conn.Disconnect()
End Try
Este ejemplo elimina una publicación transaccional.
// Define the Publisher, publication database,
// and publication names.
string publisherName = publisherInstance;
string publicationName = "AdvWorksProductTran";
string publicationDbName = "AdventureWorks2012";
TransPublication publication;
ReplicationDatabase publicationDb;
// Create a connection to the Publisher
// using Windows Authentication.
ServerConnection conn = new ServerConnection(publisherName);
try
{
conn.Connect();
// Set the required properties for the transactional publication.
publication = new TransPublication();
publication.ConnectionContext = conn;
publication.Name = publicationName;
publication.DatabaseName = publicationDbName;
// Delete the publication, if it exists and has no subscriptions.
if (publication.LoadProperties() && !publication.HasSubscription)
{
publication.Remove();
}
else
{
// Do something here if the publication does not exist
// or has subscriptions.
throw new ApplicationException(String.Format(
"The publication {0} could not be deleted. " +
"Ensure that the publication exists and that all " +
"subscriptions have been deleted.",
publicationName, publisherName));
}
// If no other transactional publications exists,
// disable publishing on the database.
publicationDb = new ReplicationDatabase(publicationDbName, conn);
if (publicationDb.LoadProperties())
{
if (publicationDb.TransPublications.Count == 0)
{
publicationDb.EnabledTransPublishing = false;
}
}
else
{
// Do something here if the database does not exist.
throw new ApplicationException(String.Format(
"The database {0} does not exist on {1}.",
publicationDbName, publisherName));
}
}
catch (Exception ex)
{
// Implement application error handling here.
throw new ApplicationException(String.Format(
"The publication {0} could not be deleted.",
publicationName), ex);
}
finally
{
conn.Disconnect();
}
' Define the Publisher, publication database,
' and publication names.
Dim publisherName As String = publisherInstance
Dim publicationName As String = "AdvWorksProductTran"
Dim publicationDbName As String = "AdventureWorks2012"
Dim publication As TransPublication
Dim publicationDb As ReplicationDatabase
' Create a connection to the Publisher
' using Windows Authentication.
Dim conn As ServerConnection = New ServerConnection(publisherName)
Try
conn.Connect()
' Set the required properties for the transactional publication.
publication = New TransPublication()
publication.ConnectionContext = conn
publication.Name = publicationName
publication.DatabaseName = publicationDbName
' Delete the publication, if it exists and has no subscriptions.
If publication.LoadProperties() And Not publication.HasSubscription Then
publication.Remove()
Else
' Do something here if the publication does not exist
' or has subscriptions.
Throw New ApplicationException(String.Format( _
"The publication {0} could not be deleted. " + _
"Ensure that the publication exists and that all " + _
"subscriptions have been deleted.", _
publicationName, publisherName))
End If
' If no other transactional publications exists,
' disable publishing on the database.
publicationDb = New ReplicationDatabase(publicationDbName, conn)
If publicationDb.LoadProperties() Then
If publicationDb.TransPublications.Count = 0 Then
publicationDb.EnabledTransPublishing = False
End If
Else
' Do something here if the database does not exist.
Throw New ApplicationException(String.Format( _
"The database {0} does not exist on {1}.", _
publicationDbName, publisherName))
End If
Catch ex As Exception
' Implement application error handling here.
Throw New ApplicationException(String.Format( _
"The publication {0} could not be deleted.", _
publicationName), ex)
Finally
conn.Disconnect()
End Try
Comentarios
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 |
|---|---|
| TransPublication() |
Crea una nueva instancia de la clase TransPublication. |
| TransPublication(String, String, ServerConnection, Boolean) |
Crea una nueva instancia de la TransPublication clase con las propiedades requeridas e indica si se ha creado el trabajo de Agente de instantáneas para la publicación. |
| TransPublication(String, String, ServerConnection) |
Crea una nueva instancia de la TransPublication clase con las propiedades requeridas. |
Propiedades
| Nombre | Description |
|---|---|
| AltSnapshotFolder |
Obtiene o establece la ubicación alternativa del archivo de instantáneas para una publicación. (Heredado de Publication) |
| Attributes |
Obtiene o establece los atributos de publicación. (Heredado de Publication) |
| CachePropertyChanges |
Obtiene o establece si guardar en caché los cambios realizados en las propiedades de replicación o aplicarlos inmediatamente. (Heredado de ReplicationObject) |
| CompatibilityLevel |
Obtiene o establece la versión más temprana de Microsoft SQL Server ejecutándose en los Suscriptores que la publicación referenciada puede soportar. (Heredado de Publication) |
| ConflictPolicy |
Obtiene o establece la política de conflictos para las publicaciones que permiten actualizar suscripciones. |
| ConflictRetention |
Obtiene o establece el número de días en que las filas de datos de conflicto se conservan en tablas de conflictos. (Heredado de Publication) |
| ConnectionContext |
Obtiene o establece la conexión a una instancia de Microsoft SQL Server. (Heredado de ReplicationObject) |
| ContinueOnConflict |
Determina si el Agente de distribución continúa procesando los cambios después de la detección de un conflicto. |
| CreateSnapshotAgentByDefault |
Obtiene o establece si el trabajo Agente de instantáneas se añade automáticamente cuando se crea la publicación. (Heredado de Publication) |
| DatabaseName |
Obtiene o establece el nombre de la base de datos de publicaciones. (Heredado de Publication) |
| Description |
Obtiene o establece una descripción textual de la publicación. (Heredado de Publication) |
| FtpAddress |
Obtiene o establece la dirección del ordenador servidor del File Transfer Protocol (FTP) para publicaciones que permiten la inicialización por suscripción a través de FTP. (Heredado de Publication) |
| FtpLogin |
Obtiene o establece el inicio de sesión que se utiliza para conectarse al servidor del Protocolo de Transferencia de Archivos (FTP) para publicaciones que permiten la inicialización de suscripción a través de FTP. (Heredado de Publication) |
| FtpPassword |
Establece la contraseña para el inicio de sesión que se utiliza para conectarse al servidor del Protocolo de Transferencia de Archivos (FTP) para publicaciones que permiten la inicialización de suscripción a través de FTP. (Heredado de Publication) |
| FtpPort |
Obtiene o configura el puerto del ordenador servidor del Protocolo de Transferencia de Archivos (FTP) para publicaciones que permiten la inicialización de suscripción a través de FTP. (Heredado de Publication) |
| FtpSubdirectory |
Obtiene o establece el subdirectorio en el ordenador servidor del File Transfer Protocol (FTP) para publicaciones que permiten la inicialización de suscripción a través de FTP. (Heredado de Publication) |
| HasSubscription |
Determina si la publicación tiene una o más suscripciones. (Heredado de Publication) |
| IsExistingObject |
Anota si el objeto existe en el servidor o no. (Heredado de ReplicationObject) |
| Name |
Obtiene o establece el nombre de la publicación. (Heredado de Publication) |
| PeerConflictDetectionEnabled |
Obtiene si la detección de conflictos entre pares estaba habilitada usando SetPeerConflictDetection(Boolean, Int32). |
| PeerOriginatorID |
Obtiene el ID de un nodo en una topología peer-to-peer; este ID se usa para la detección de conflictos si PeerConflictDetectionEnabled se establece en |
| PostSnapshotScript |
Obtiene o establece el nombre y la ruta completa de un archivo de script Transact-SQL que se ejecuta tras aplicar la instantánea inicial al Suscriptor. (Heredado de Publication) |
| PreSnapshotScript |
Obtiene o establece el nombre y la ruta completa de un archivo de script Transact-SQL que se ejecuta antes de que se aplique la instantánea inicial al Suscriptor. (Heredado de Publication) |
| PubId |
Obtiene el valor que identifica de forma única la publicación. (Heredado de Publication) |
| PublisherName |
Recibe o establece el nombre del no-SQL Server Publisher. |
| QueueType |
Obtiene o establece el tipo de cola para usar en publicaciones que permiten suscripciones de actualización en cola. |
| ReplicateDdl |
Obtiene o establece las opciones de replicación del lenguaje de definición de datos (DDL) que determinan si los cambios DDL se replican. (Heredado de Publication) |
| RetentionPeriod |
Obtiene o establece el tiempo antes de que expire una suscripción cuando la suscripción no está sincronizada con la publicación. (Heredado de Publication) |
| SecureFtpPassword |
Establece la contraseña (como objeto SecureString ) para el inicio de sesión utilizado para conectarse al servidor del Protocolo de Transferencia de Archivos (FTP) para publicaciones que permiten la inicialización de suscripción a través de FTP. (Heredado de Publication) |
| SnapshotAgentExists |
Obtiene si existe el trabajo Agente SQL Server para generar la instantánea inicial de esta publicación. (Heredado de Publication) |
| SnapshotAvailable |
Averigua si los archivos de instantáneas de esta publicación están disponibles para su uso. |
| SnapshotGenerationAgentProcessSecurity |
Obtiene un objeto que establece la cuenta de Windows bajo la cual se ejecuta el trabajo del Agente de instantáneas. (Heredado de Publication) |
| SnapshotGenerationAgentPublisherSecurity |
Obtiene el contexto de seguridad que utiliza el Agente de instantáneas para conectarse al Publisher. (Heredado de Publication) |
| SnapshotJobId |
Obtiene el ID de trabajo de Agente de instantáneas para la publicación actual. (Heredado de Publication) |
| SnapshotMethod |
Obtiene o establece el formato del archivo de datos de la instantánea inicial. (Heredado de Publication) |
| SnapshotSchedule |
Obtiene un objeto que establece el calendario para el Agente de instantáneas de la publicación actual. (Heredado de Publication) |
| SqlServerName |
Obtiene el nombre de la instancia de Microsoft SQL Server a la que está conectado este objeto. (Heredado de ReplicationObject) |
| Status |
Obtiene o establece el estado de la publicación. (Heredado de Publication) |
| TransArticles |
Representa los artículos de la publicación. |
| TransSubscriptions |
Representa las suscripciones a la publicación. |
| Type |
Recibe o establece el tipo de publicación. (Heredado de Publication) |
| 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 |
|---|---|
| BrowseSnapshotFolder(String, String) |
Devuelve la ruta completa de la ubicación donde se generaron los archivos snapshot para una suscripción específica. |
| CheckValidCreation() |
Comprueba la creación válida de la replicación. (Heredado de ReplicationObject) |
| CheckValidDefinition(Boolean) |
Indica si comprobar la definición válida. (Heredado de Publication) |
| CommitPropertyChanges() |
Envía todas las sentencias de cambio de propiedades en caché a la instancia de Microsoft SQL Server. (Heredado de ReplicationObject) |
| CopySnapshot(String, String, String) |
Copia los archivos snapshot más recientes de una suscripción específica a una carpeta de destino. |
| Create() |
Crea la publicación. (Heredado de Publication) |
| CreateSnapshotAgent() |
Crea el trabajo Agente SQL Server que se utiliza para generar la instantánea inicial de la publicación, si este trabajo no existe ya. (Heredado de Publication) |
| Decouple() |
Desacopla el objeto de replicación referenciado del servidor. (Heredado de ReplicationObject) |
| EnumArticles() |
Devuelve los artículos de la publicación. (Heredado de Publication) |
| EnumPublicationAccesses(Boolean) |
Devuelve los inicios de sesión que tienen acceso al Publisher. (Heredado de Publication) |
| EnumSubscriptions() |
Devuelve las suscripciones que se suscriben a la publicación. (Heredado de Publication) |
| 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) |
| GrantPublicationAccess(String) |
Añade el inicio de sesión especificado a la lista de acceso a publicaciones (PAL). (Heredado de Publication) |
| 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) |
| MakePullSubscriptionWellKnown(String, String, SubscriptionSyncType, TransSubscriberType, Boolean) |
Representa una publicación transaccional. |
| MakePullSubscriptionWellKnown(String, String, SubscriptionSyncType, TransSubscriberType) |
Se registra una suscripción pull en el Publisher. |
| PostTracerToken() |
Publica un token rastreador en el registro de Publisher para comenzar el proceso de determinar la latencia. |
| Refresh() |
Recarga las propiedades del objeto. (Heredado de ReplicationObject) |
| RefreshSubscriptions() |
Actualiza todas las suscripciones a una publicación para incluir cualquier artículo nuevo añadido. |
| ReinitializeAllSubscriptions() |
Marca todas las suscripciones a la publicación para reinicialización. |
| ReinitializeAllSubscriptions(Boolean) |
Marca todas las suscripciones a la publicación para reinicialización, con la opción de invalidar una instantánea existente. |
| Remove() |
Elimina una publicación existente. (Heredado de Publication) |
| Remove(Boolean) |
Elimina una publicación existente aunque no se pueda acceder al Distribuidor. (Heredado de Publication) |
| RemovePullSubscription(String, String) |
Elimina el registro para una suscripción pull en el Publisher. |
| ReplicateUserDefinedScript(String) |
Replica la ejecución de un script definido por el usuario a los Suscriptores de una publicación especificada. (Heredado de Publication) |
| RevokePublicationAccess(String) |
Elimina el inicio de sesión especificado de la lista de acceso a publicaciones (PAL). (Heredado de Publication) |
| Script(ScriptOptions) |
Genera un guion Transact-SQL que puede usarse para recrear la publicación según lo especificado por las opciones del guion. (Heredado de Publication) |
| SetPeerConflictDetection(Boolean, Int32) |
Permite o desactiva la detección de conflictos en un nodo en una topología peer-to-peer. |
| StartSnapshotGenerationAgentJob() |
Inicia el trabajo que genera la instantánea inicial para la publicación. (Heredado de Publication) |
| StopSnapshotGenerationAgentJob() |
Intenta detener un trabajo de Agente de instantáneas en ejecución. (Heredado de Publication) |
| ValidatePublication(ValidationOption, ValidationMethod, Boolean) |
Invoca la validación de publicación en línea para todas las suscripciones. |
| ValidateSubscriptions(String[], String[], ValidationOption, ValidationMethod, Boolean) |
Invoca la validación de publicación en línea para la suscripción especificada. |