¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Clase TransPublication

Representa una publicación transaccional.

Object
  Microsoft.SqlServer.Replication.ReplicationObject
    Microsoft.SqlServer.Replication.Publication
      Microsoft.SqlServer.Replication.TransPublication

Espacio de nombres:  Microsoft.SqlServer.Replication
Ensamblado:  Microsoft.SqlServer.Rmo (en Microsoft.SqlServer.Rmo.dll)

public sealed class TransPublication : Publication

El tipo TransPublication expone los siguientes miembros.

  NombreDescripción
Método públicoTransPublication()Crea una instancia de la clase TransPublication.
Método públicoTransPublication(String, String, ServerConnection)Crea una instancia de la clase TransPublication con las propiedades requeridas.
Método públicoTransPublication(String, String, ServerConnection, Boolean)Crea una instancia de la clase TransPublication con las propiedades requeridas e indica si se crea el trabajo del Agente de instantáneas para la publicación.
Arriba

  NombreDescripción
Propiedad públicaAltSnapshotFolderObtiene o establece la ubicación del archivo de instantáneas alternativo para una publicación. (Se hereda de Publication.)
Propiedad públicaAttributesObtiene o establece los atributos de la publicación. (Se hereda de Publication.)
Propiedad públicaCachePropertyChangesObtiene o establece si los cambios realizados en las propiedades de replicación se almacenan en memoria caché o se aplican inmediatamente. (Se hereda de ReplicationObject.)
Propiedad públicaCompatibilityLevelObtiene o establece la versión anterior de Microsoft SQL Server que se ejecuta en los suscriptores con los que es compatible la publicación a la que se hace referencia. (Se hereda de Publication.)
Propiedad públicaConflictPolicyObtiene o establece la directiva de conflictos para las publicaciones con las que son compatibles las suscripciones de actualización.
Propiedad públicaConflictRetentionObtiene o establece el número de días que las filas de datos de conflicto se conservan en las tablas de conflictos. (Se hereda de Publication.)
Propiedad públicaConnectionContextObtiene o establece la conexión a una instancia de Microsoft SQL Server. (Se hereda de ReplicationObject.)
Propiedad públicaContinueOnConflictDetermina si el Agente de distribución continúa procesando los cambios después de la detección de un conflicto.
Propiedad públicaCreateSnapshotAgentByDefaultObtiene o establece si automáticamente se agrega el trabajo del Agente de instantáneas cuando se crea la publicación. (Se hereda de Publication.)
Propiedad públicaDatabaseNameObtiene o establece el nombre de la base de datos de publicación. (Se hereda de Publication.)
Propiedad públicaDescriptionObtiene o establece una descripción textual de la publicación. (Se hereda de Publication.)
Propiedad públicaFtpAddressObtiene o establece la dirección del equipo servidor del Protocolo de transferencia de archivos (FTP) para las publicaciones que permiten la inicialización de suscripciones sobre FTP. (Se hereda de Publication.)
Propiedad públicaFtpLoginObtiene o establece el inicio de sesión que se utiliza para la conexión al servidor del Protocolo de transferencia de archivos (FTP) para las publicaciones que permiten la inicialización de suscripciones sobre FTP. (Se hereda de Publication.)
Propiedad públicaFtpPasswordEstablece la contraseña del inicio de sesión que se utiliza para la conexión al servidor del Protocolo de transferencia de archivos (FTP) para las publicaciones que permiten la inicialización de suscripciones sobre FTP. (Se hereda de Publication.)
Propiedad públicaFtpPortObtiene o establece el puerto del equipo servidor del Protocolo de transferencia de archivos (FTP) para las publicaciones que permiten la inicialización de suscripciones sobre FTP. (Se hereda de Publication.)
Propiedad públicaFtpSubdirectoryObtiene o establece el subdirectorio del equipo servidor del Protocolo de transferencia de archivos (FTP) para las publicaciones que permiten la inicialización de suscripciones sobre FTP. (Se hereda de Publication.)
Propiedad públicaHasSubscriptionObtiene si la publicación tiene una o más suscripciones. (Se hereda de Publication.)
Propiedad públicaIsExistingObjectObtiene si el objeto existe en el servidor. (Se hereda de ReplicationObject.)
Propiedad públicaNameObtiene o establece el nombre de la publicación. (Se hereda de Publication.)
Propiedad públicaPeerConflictDetectionEnabledObtiene si la detección de conflictos punto a punto se habilitó utilizando SetPeerConflictDetection.
Propiedad públicaPeerOriginatorIDObtiene el identificador de un nodo en una topología punto a punto; este identificador se usa para la detección de conflictos si PeerConflictDetectionEnabled está establecido en true.
Propiedad públicaPostSnapshotScriptObtiene o establece el nombre y la ruta de acceso completa de un archivo de script de Transact-SQL que se ejecuta una vez aplicada al suscriptor la instantánea inicial. (Se hereda de Publication.)
Propiedad públicaPreSnapshotScriptObtiene o establece el nombre y la ruta de acceso completa de un archivo de script de Transact-SQL que se ejecuta antes de aplicar al suscriptor la instantánea inicial. (Se hereda de Publication.)
Propiedad públicaPubIdObtiene el valor que identifica de forma unívoca la publicación. (Se hereda de Publication.)
Propiedad públicaPublisherNameObtiene o establece el nombre del publicador que no es de SQL Server.
Propiedad públicaQueueTypeObtiene o establece el tipo de cola a usar para las publicaciones que permiten las suscripciones de actualización en cola.
Propiedad públicaReplicateDdlObtiene o establece las opciones de replicación de lenguaje de definición de datos (DDL) que determinan si se replican los cambios de DDL. (Se hereda de Publication.)
Propiedad públicaRetentionPeriodObtiene o establece la cantidad de tiempo que transcurre antes de que una suscripción expire si la suscripción no se sincroniza con la publicación. (Se hereda de Publication.)
Propiedad públicaSecureFtpPasswordEstablece la contraseña (como un objeto SecureString) del inicio de sesión que se utiliza para la conexión al servidor del Protocolo de transferencia de archivos (FTP) para las publicaciones que permiten la inicialización de suscripciones sobre FTP. (Se hereda de Publication.)
Propiedad públicaSnapshotAgentExistsObtiene si el trabajo del Agente de SQL Server sale para generar la instantánea inicial para esta publicación. (Se hereda de Publication.)
Propiedad públicaSnapshotAvailableObtiene si los archivos de instantánea están disponibles o no para uso en esta publicación.
Propiedad públicaSnapshotGenerationAgentProcessSecurityObtiene un objeto que establece la cuenta de Windows bajo la cual se ejecuta el trabajo del Agente de instantáneas. (Se hereda de Publication.)
Propiedad públicaSnapshotGenerationAgentPublisherSecurityObtiene el contexto de seguridad utilizado por el Agente de instantáneas para la conexión al publicador. (Se hereda de Publication.)
Propiedad públicaSnapshotJobIdObtiene el identificador del trabajo del Agente de instantáneas para la publicación actual. (Se hereda de Publication.)
Propiedad públicaSnapshotMethodObtiene o establece el formato del archivo de datos de la instantánea inicial. (Se hereda de Publication.)
Propiedad públicaSnapshotScheduleObtiene un objeto que establece la programación para el Agente de instantáneas para la publicación actual. (Se hereda de Publication.)
Propiedad públicaSqlServerNameObtiene el nombre de la instancia de Microsoft SQL Server a la que está conectado este objeto. (Se hereda de ReplicationObject.)
Propiedad públicaStatusObtiene o establece el estado de la publicación. (Se hereda de Publication.)
Propiedad públicaTransArticlesRepresenta los artículos de la publicación.
Propiedad públicaTransSubscriptionsRepresenta las suscripciones de la publicación.
Propiedad públicaTypeObtiene o establece el tipo de publicación. (Se hereda de Publication.)
Propiedad públicaUserDataObtiene o establece una propiedad de un objeto que permite a los usuarios adjuntar sus propios datos al objeto. (Se hereda de ReplicationObject.)
Arriba

  NombreDescripción
Método públicoBrowseSnapshotFolderDevuelve la ruta de acceso completa de la ubicación donde se generaron los archivos de instantánea para una suscripción concreta.
Método públicoCommitPropertyChangesEnvía todas las instrucciones de cambio de propiedad almacenadas en memoria caché a la instancia de Microsoft SQL Server. (Se hereda de ReplicationObject.)
Método públicoCopySnapshotCopia los últimos archivos de instantánea de una suscripción concreta en una carpeta de destino.
Método públicoCreateCrea la publicación. (Se hereda de Publication.)
Método públicoCreateSnapshotAgentCrea el trabajo de agente SQL Server que se utiliza para generar la instantánea inicial para la publicación, si este trabajo aún no existe. (Se hereda de Publication.)
Método públicoDecoupleDesacopla del servidor el objeto de replicación al que se hace referencia. (Se hereda de ReplicationObject.)
Método públicoEnumArticlesDevuelve los artículos de la publicación. (Se hereda de Publication.)
Método públicoEnumPublicationAccessesDevuelve los inicios de sesión que tienen acceso al publicador. (Se hereda de Publication.)
Método públicoEnumSubscriptionsDevuelve las suscripciones que se suscriben a la publicación. (Se hereda de Publication.)
Método públicoEquals (Se hereda de Object.)
Método públicoGetHashCode (Se hereda de Object.)
Método públicoGetType (Se hereda de Object.)
Método públicoGrantPublicationAccessAgrega el inicio de sesión especificado a la lista de acceso a la publicación (PAL). (Se hereda de Publication.)
Método públicoLoadCarga las propiedades de un objeto existente desde el servidor. (Se hereda de ReplicationObject.)
Método públicoLoadPropertiesCarga las propiedades de un objeto existente desde el servidor. (Se hereda de ReplicationObject.)
Método públicoMakePullSubscriptionWellKnownRegistra una suscripción de extracción en el publicador.
Método públicoPostTracerTokenEnvía un token de seguimiento al registro del publicador para comenzar el proceso de determinación de la latencia.
Método públicoRefreshVuelve a cargar las propiedades del objeto. (Se hereda de ReplicationObject.)
Método públicoRefreshSubscriptionsActualiza todas las suscripciones a una publicación para incluir cualquier artículo agregado recientemente.
Método públicoReinitializeAllSubscriptions()Marca todas las suscripciones a la publicación para reinicialización.
Método públicoReinitializeAllSubscriptions(Boolean)Marca todas las suscripciones a la publicación para reinicialización, con la posibilidad de invalidar una instantánea existente.
Método públicoRemove()Quita una publicación existente. (Se hereda de Publication.)
Método públicoRemove(Boolean)Quita una publicación existente aun cuando no se pueda tener acceso al distribuidor. (Se hereda de Publication.)
Método públicoRemovePullSubscriptionQuita el registro de una suscripción de extracción del publicador.
Método públicoReplicateUserDefinedScriptReplica la ejecución de un script definido por el usuario en los suscriptores de una publicación especificada. (Se hereda de Publication.)
Método públicoRevokePublicationAccessQuita el inicio de sesión especificado de la lista de acceso a la publicación (PAL). (Se hereda de Publication.)
Método públicoScriptGenera un script de Transact-SQL que se puede usar para volver a crear la publicación como se especifica en las opciones del script. (Se hereda de Publication.)
Método públicoSetPeerConflictDetectionHabilita o deshabilita la detección de conflictos para un nodo en una topología punto a punto.
Método públicoStartSnapshotGenerationAgentJobInicia el trabajo que genera la instantánea inicial para la publicación. (Se hereda de Publication.)
Método públicoStopSnapshotGenerationAgentJobIntenta detener un trabajo del Agente de instantáneas en ejecución. (Se hereda de Publication.)
Método públicoToString (Se hereda de Object.)
Método públicoValidatePublicationInvoca la validación de publicación insertada para todas las suscripciones.
Método públicoValidateSubscriptionsInvoca la validación de publicación insertada para la suscripción especificada.
Arriba

Seguridad para subprocesos

Cualquier (Shared Microsoft en Visual Basic) miembros estáticos públicos de este tipo son seguros para operaciones multiproceso. No se garantiza que los miembros de instancia sean seguros para subprocesos.

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

Cualquier miembro público static (Shared en Visual Basic) de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft