TransPublication Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa uma publicação transacional.
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
- Herança
Exemplos
Este exemplo cria uma publicação transacional.
// 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 exemplo exclui uma publicação transacional.
// 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
Comentários
Acesso thread-safe
Todos os membros estáticos públicos (Shared
no Microsoft Visual Basic) desse tipo são seguros para operações multithread. Não há garantia de que qualquer membro de instância seja seguro para threads.
Construtores
TransPublication() |
Cria uma nova instância da classe TransPublication. |
TransPublication(String, String, ServerConnection) |
Cria uma nova instância da classe TransPublication com as opções necessárias. |
TransPublication(String, String, ServerConnection, Boolean) |
Cria uma nova instância da classe TransPublication com as propriedades necessárias e indica se o trabalho do Agente de Instantâneo para a publicação é criado. |
Propriedades
AltSnapshotFolder |
Obtém ou define o local do arquivo de instantâneo alternativo para uma publicação. (Herdado de Publication) |
Attributes |
Obtém ou define os atributos da publicação. (Herdado de Publication) |
CachePropertyChanges |
Obtém ou define se as alterações feitas às propriedades de replicação devem ser armazenadas em cache ou aplicadas imediatamente. (Herdado de ReplicationObject) |
CompatibilityLevel |
Obtém ou define a versão mais antiga do Microsoft SQL Server em execução nos Assinantes aos quais a publicação referenciada pode dar suporte. (Herdado de Publication) |
ConflictPolicy |
Obtém ou define a política de conflito para publicações que dão suporte à atualização de assinaturas. |
ConflictRetention |
Obtém ou define o número de dias pelos quais as linhas de dados de conflito são retidas em tabelas de conflito. (Herdado de Publication) |
ConnectionContext |
Obtém ou define a conexão com uma instância do Microsoft SQL Server. (Herdado de ReplicationObject) |
ContinueOnConflict |
Determina se o Agente de Distribuição deve continuar processando alterações depois da detecção de um conflito. |
CreateSnapshotAgentByDefault |
Obtém ou define se o trabalho do Agente de Instantâneo é adicionado automaticamente quando a publicação é criada. (Herdado de Publication) |
DatabaseName |
Obtém ou define o nome do banco de dados de publicação. (Herdado de Publication) |
Description |
Obtém ou define uma descrição textual da publicação. (Herdado de Publication) |
FtpAddress |
Obtém ou define o endereço do computador do servidor de protocolo FTP para publicações que permitem inicialização de assinatura por FTP. (Herdado de Publication) |
FtpLogin |
Obtém ou define o logon usado para conexão com o servidor de protocolo FTP para publicações que permitem inicialização de assinatura por FTP. (Herdado de Publication) |
FtpPassword |
Define a senha do logon usado para conexão com o servidor de protocolo FTP para publicações que permitem inicialização de assinatura por FTP. (Herdado de Publication) |
FtpPort |
Obtém ou define a porta do computador do servidor de protocolo FTP para publicações que permitem inicialização de assinatura por FTP. (Herdado de Publication) |
FtpSubdirectory |
Obtém ou define o subdiretório no servidor de protocolo FTP para publicações que permitem inicialização de assinatura por FTP. (Herdado de Publication) |
HasSubscription |
Obtém se a publicação tem uma ou mais assinaturas. (Herdado de Publication) |
IsExistingObject |
Especifica se o objeto existe no servidor ou não. (Herdado de ReplicationObject) |
Name |
Obtém ou define o nome da publicação. (Herdado de Publication) |
PeerConflictDetectionEnabled |
Define se a detecção de conflitos ponto a ponto foi habilitada usando SetPeerConflictDetection(Boolean, Int32). |
PeerOriginatorID |
Obtém a ID de um nó em uma topologia ponto a ponto. Essa ID será usada para a detecção de conflitos se PeerConflictDetectionEnabled estiver definido como |
PostSnapshotScript |
Obtém ou define o nome e o caminho completo de um arquivo de script Transact-SQL executado após o instantâneo inicial ser aplicado ao Assinante. (Herdado de Publication) |
PreSnapshotScript |
Obtém ou define o nome e o caminho completo de um arquivo de script Transact-SQL executado antes que o instantâneo inicial seja aplicado ao Assinante. (Herdado de Publication) |
PubId |
Obtém o valor que identifica exclusivamente a publicação. (Herdado de Publication) |
PublisherName |
Obtém ou define o nome do Publicador não SQL Server. |
QueueType |
Obtém ou define o tipo de fila a ser usada para publicações que permitem atualizações de assinaturas enfileiradas. |
ReplicateDdl |
Obtém ou define as opções de replicação de DDL (linguagem de definição de dados) que determinam se as alterações de DDL são replicadas. (Herdado de Publication) |
RetentionPeriod |
Obtém ou define o período de tempo antes do qual uma assinatura expirará quando a assinatura não estiver sincronizada com a publicação. (Herdado de Publication) |
SecureFtpPassword |
Define a senha (como um objeto SecureString) do logon usado para conexão com o servidor de protocolo FTP para publicações que permitem inicialização de assinatura por FTP. (Herdado de Publication) |
SnapshotAgentExists |
Obtém se o trabalho SQL Server Agent existe para gerar o instantâneo inicial para esta publicação. (Herdado de Publication) |
SnapshotAvailable |
Define se os arquivos de instantâneo desta publicação estão disponíveis para uso. |
SnapshotGenerationAgentProcessSecurity |
Obtém um objeto que define a conta do Windows sob a qual o trabalho do Snapshot Agent é executado. (Herdado de Publication) |
SnapshotGenerationAgentPublisherSecurity |
Obtém o contexto de segurança usado pelo Snapshot Agent para conexão com o Publicador. (Herdado de Publication) |
SnapshotJobId |
Obtém a ID do trabalho do Snapshot Agent para a publicação atual. (Herdado de Publication) |
SnapshotMethod |
Obtém ou define o formato do arquivo de dados do instantâneo inicial. (Herdado de Publication) |
SnapshotSchedule |
Obtém um objeto que define a agenda do Snapshot Agent para a publicação atual. (Herdado de Publication) |
SqlServerName |
Obtém o nome da instância do Microsoft SQL Server à qual esse objeto está conectado. (Herdado de ReplicationObject) |
Status |
Obtém ou define o status da publicação. (Herdado de Publication) |
TransArticles |
Representa os artigos na publicação. |
TransSubscriptions |
Representa as assinaturas da publicação. |
Type |
Obtém ou define o tipo da publicação. (Herdado de Publication) |
UserData |
Obtém ou define uma propriedade de objeto que permite que os usuários anexem seus próprios dados ao objeto. (Herdado de ReplicationObject) |
Métodos
BrowseSnapshotFolder(String, String) |
Retorna o caminho completo do local onde arquivos de instantâneo foram gerados para uma assinatura específica. |
CheckValidCreation() |
Verifica a criação de replicação válida. (Herdado de ReplicationObject) |
CheckValidDefinition(Boolean) |
Indica se a validade da definição deve ser verificada. (Herdado de Publication) |
CommitPropertyChanges() |
Envia todas as instruções de alteração de propriedade armazenadas em cache para a instância do Microsoft SQL Server. (Herdado de ReplicationObject) |
CopySnapshot(String, String, String) |
Copia os últimos arquivos de instantâneo de uma assinatura específica em uma pasta de destino. |
Create() |
Cria a publicação. (Herdado de Publication) |
CreateSnapshotAgent() |
Cria o trabalho SQL Server Agent usado para gerar o instantâneo inicial para a publicação, se esse trabalho ainda não existir. (Herdado de Publication) |
Decouple() |
Desacopla o objeto de replicação referenciado do servidor. (Herdado de ReplicationObject) |
EnumArticles() |
Retorna os artigos da publicação. (Herdado de Publication) |
EnumPublicationAccesses(Boolean) |
Retorna os logons que têm acesso ao Publicador. (Herdado de Publication) |
EnumSubscriptions() |
Retorna as assinaturas que assinam a publicação. (Herdado de Publication) |
GetChangeCommand(StringBuilder, String, String) |
Retorna o comando change da replicação. (Herdado de ReplicationObject) |
GetCreateCommand(StringBuilder, Boolean, ScriptOptions) |
Retorna o comando create da replicação. (Herdado de ReplicationObject) |
GetDropCommand(StringBuilder, Boolean) |
Retorna o comando drop da replicação. (Herdado de ReplicationObject) |
GrantPublicationAccess(String) |
Adiciona o logon especificado à PAL (lista de acesso à publicação). (Herdado de Publication) |
InternalRefresh(Boolean) |
Inicia uma atualização interna da replicação. (Herdado de ReplicationObject) |
Load() |
Carrega as propriedades de um objeto existente do servidor. (Herdado de ReplicationObject) |
LoadProperties() |
Carrega as propriedades de um objeto existente do servidor. (Herdado de ReplicationObject) |
MakePullSubscriptionWellKnown(String, String, SubscriptionSyncType, TransSubscriberType) |
Registra uma assinatura pull no Publicador. |
MakePullSubscriptionWellKnown(String, String, SubscriptionSyncType, TransSubscriberType, Boolean) |
Representa uma publicação transacional. |
PostTracerToken() |
Posta um token de rastreamento no log do Publicador para começar o processo de determinação da latência. |
Refresh() |
Recarrega as propriedades do objeto. (Herdado de ReplicationObject) |
RefreshSubscriptions() |
Atualiza todas as assinaturas em uma publicação para incluir qualquer artigo recém-adicionado. |
ReinitializeAllSubscriptions() |
Marca todas as assinaturas na publicação para reinicialização. |
ReinitializeAllSubscriptions(Boolean) |
Marca todas as assinaturas na publicação para reinicialização, com a opção de invalidar um instantâneo existente. |
Remove() |
Remove uma publicação existente. (Herdado de Publication) |
Remove(Boolean) |
Remove uma publicação existente se o Distribuidor não puder ser acessado. (Herdado de Publication) |
RemovePullSubscription(String, String) |
Remove o registro de uma assinatura pull no Publicador. |
ReplicateUserDefinedScript(String) |
Replica a execução de um script definido pelo usuário nos Assinantes de uma publicação especificada. (Herdado de Publication) |
RevokePublicationAccess(String) |
remove o logon especificado da PAL (lista de acesso à publicação). (Herdado de Publication) |
Script(ScriptOptions) |
Gera um script Transact-SQL que pode ser usado para recriar a publicação conforme especificado pelas opções de script. (Herdado de Publication) |
SetPeerConflictDetection(Boolean, Int32) |
Habilita ou desabilita a detecção de conflitos para um nó em uma topologia ponto a ponto. |
StartSnapshotGenerationAgentJob() |
Inicia o trabalho que gera o instantâneo inicial para a publicação. (Herdado de Publication) |
StopSnapshotGenerationAgentJob() |
Tenta interromper um trabalho do Snapshot Agent em execução. (Herdado de Publication) |
ValidatePublication(ValidationOption, ValidationMethod, Boolean) |
Invoca a validação de publicação embutida de todas as assinaturas. |
ValidateSubscriptions(String[], String[], ValidationOption, ValidationMethod, Boolean) |
Invoca a validação de publicação embutida da assinatura especificada. |