TransPublication Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta una pubblicazione transazionale.
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
- Ereditarietà
Esempio
In questo esempio viene creata una pubblicazione transazionale.
// 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
In questo esempio viene eliminata una pubblicazione transazionale.
// 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
Commenti
Thread safety
Tutti i membri statici pubblici (Shared
in Microsoft Visual Basic) di questo tipo sono sicuri per le operazioni multithreading. Non è invece garantita la sicurezza dei membri dell'istanza.
Costruttori
TransPublication() |
Crea una nuova istanza della classe TransPublication. |
TransPublication(String, String, ServerConnection) |
Crea una nuova istanza della classe TransPublication con le proprietà obbligatorie. |
TransPublication(String, String, ServerConnection, Boolean) |
Crea una nuova istanza della classe TransPublication con le proprietà obbligatorie e indica se viene creato il processo dell'agente snapshot per la pubblicazione. |
Proprietà
AltSnapshotFolder |
Ottiene o imposta il percorso alternativo dei file di snapshot per una pubblicazione. (Ereditato da Publication) |
Attributes |
Ottiene o imposta gli attributi della pubblicazione. (Ereditato da Publication) |
CachePropertyChanges |
Ottiene o imposta un valore che indica se memorizzare nella cache o se applicare immediatamente le modifiche apportate alle proprietà di replica. (Ereditato da ReplicationObject) |
CompatibilityLevel |
Ottiene o imposta la versione meno recente di Microsoft SQL Server in esecuzione nei Sottoscrittori che la pubblicazione a cui si fa riferimento può supportare. (Ereditato da Publication) |
ConflictPolicy |
Ottiene o imposta i criteri di risoluzione dei conflitti per le pubblicazioni che supportano le sottoscrizioni ad aggiornamento. |
ConflictRetention |
Ottiene o imposta il numero di giorni di memorizzazione delle righe di dati in conflitto nelle tabelle dei conflitti. (Ereditato da Publication) |
ConnectionContext |
Ottiene o imposta la connessione a un'istanza di Microsoft SQL Server. (Ereditato da ReplicationObject) |
ContinueOnConflict |
Determina se l'agente di distribuzione continua a elaborare le modifiche dopo che è stato rilevato un conflitto. |
CreateSnapshotAgentByDefault |
Ottiene o imposta un valore che indica se aggiungere automaticamente il processo dell'agente snapshot quando viene creata la pubblicazione. (Ereditato da Publication) |
DatabaseName |
Ottiene o imposta il nome del database di pubblicazione. (Ereditato da Publication) |
Description |
Ottiene o imposta una descrizione in formato testo della pubblicazione. (Ereditato da Publication) |
FtpAddress |
Ottiene o imposta l'indirizzo del computer server FTP (File Transfer Protocol) per le pubblicazioni che consentono l'inizializzazione della sottoscrizione su FTP. (Ereditato da Publication) |
FtpLogin |
Ottiene o imposta l'account di accesso utilizzato per connettersi al computer server FTP (File Transfer Protocol) per le pubblicazioni che consentono l'inizializzazione della sottoscrizione su FTP. (Ereditato da Publication) |
FtpPassword |
Imposta la password per l'account di accesso utilizzato per connettersi al computer server FTP (File Transfer Protocol) per le pubblicazioni che consentono l'inizializzazione della sottoscrizione su FTP. (Ereditato da Publication) |
FtpPort |
Ottiene o imposta la porta del computer server FTP (File Transfer Protocol) per le pubblicazioni che consentono l'inizializzazione della sottoscrizione su FTP. (Ereditato da Publication) |
FtpSubdirectory |
Ottiene o imposta la sottodirectory del computer server FTP (File Transfer Protocol) per le pubblicazioni che consentono l'inizializzazione della sottoscrizione su FTP. (Ereditato da Publication) |
HasSubscription |
Ottiene un valore che indica se la pubblicazione presenta una o più sottoscrizioni. (Ereditato da Publication) |
IsExistingObject |
Ottiene un valore che indica se l'oggetto esiste nel server. (Ereditato da ReplicationObject) |
Name |
Ottiene o imposta il nome della pubblicazione. (Ereditato da Publication) |
PeerConflictDetectionEnabled |
Ottiene un valore che indica se il rilevamento dei conflitti peer-to-peer è stato abilitato tramite il metodo SetPeerConflictDetection(Boolean, Int32). |
PeerOriginatorID |
Ottiene l'ID per un nodo in una topologia peer-to-peer, utilizzato per il rilevamento dei conflitti quando la proprietà PeerConflictDetectionEnabled è impostata su |
PostSnapshotScript |
Ottiene o imposta il nome e il percorso completo di un file di script Transact-SQL eseguito dopo l'applicazione dello snapshot iniziale al Sottoscrittore. (Ereditato da Publication) |
PreSnapshotScript |
Ottiene o imposta il nome e il percorso completo di un file di script Transact-SQL eseguito prima dell'applicazione dello snapshot iniziale al Sottoscrittore. (Ereditato da Publication) |
PubId |
Ottiene il valore che identifica in modo univoco la pubblicazione. (Ereditato da Publication) |
PublisherName |
Ottiene o imposta il nome del server di pubblicazione non SQL Server. |
QueueType |
Ottiene o imposta il tipo di coda da utilizzare per le pubblicazioni che consentono le sottoscrizioni ad aggiornamento in coda. |
ReplicateDdl |
Ottiene o imposta le opzioni di replica DDL (Data Definition Language) che determinano se replicare le modifiche DDL. (Ereditato da Publication) |
RetentionPeriod |
Ottiene o imposta l'intervallo di tempo trascorso il quale una sottoscrizione non sincronizzata con la pubblicazione scade. (Ereditato da Publication) |
SecureFtpPassword |
Imposta la password (sotto forma di oggetto SecureString) per l'account di accesso utilizzato per connettersi al computer server FTP (File Transfer Protocol) per le pubblicazioni che consentono l'inizializzazione della sottoscrizione su FTP. (Ereditato da Publication) |
SnapshotAgentExists |
Ottiene se il processo SQL Server Agent esiste per generare lo snapshot iniziale per la pubblicazione. (Ereditato da Publication) |
SnapshotAvailable |
Ottiene un valore che indica se i file di snapshot per questa pubblicazione sono disponibili per l'utilizzo. |
SnapshotGenerationAgentProcessSecurity |
Ottiene un oggetto che imposta l'account di Windows con cui viene eseguito il processo dell'agente snapshot. (Ereditato da Publication) |
SnapshotGenerationAgentPublisherSecurity |
Ottiene il contesto di sicurezza utilizzato dall'agente snapshot per connettersi al server di pubblicazione. (Ereditato da Publication) |
SnapshotJobId |
Ottiene l'ID del processo dell'agente snapshot per la pubblicazione corrente. (Ereditato da Publication) |
SnapshotMethod |
Ottiene o imposta il formato del file di dati dello snapshot iniziale. (Ereditato da Publication) |
SnapshotSchedule |
Ottiene un oggetto che imposta la pianificazione per l'agente snapshot per la pubblicazione corrente. (Ereditato da Publication) |
SqlServerName |
Ottiene il nome dell'istanza di Microsoft SQL Server a cui è connesso questo oggetto. (Ereditato da ReplicationObject) |
Status |
Ottiene o imposta lo stato della pubblicazione. (Ereditato da Publication) |
TransArticles |
Rappresenta gli articoli nella pubblicazione. |
TransSubscriptions |
Rappresenta le sottoscrizioni alla pubblicazione. |
Type |
Ottiene o imposta il tipo della pubblicazione. (Ereditato da Publication) |
UserData |
Ottiene o imposta una proprietà di un oggetto che consente agli utenti di collegare i relativi dati all'oggetto in questione. (Ereditato da ReplicationObject) |
Metodi
BrowseSnapshotFolder(String, String) |
Restituisce il percorso completo della directory in cui sono stati generati i file di snapshot per una sottoscrizione specifica. |
CheckValidCreation() |
Controlla la creazione della replica valida. (Ereditato da ReplicationObject) |
CheckValidDefinition(Boolean) |
Indica se controllare la definizione valida. (Ereditato da Publication) |
CommitPropertyChanges() |
Invia tutte le istruzioni di modifica delle proprietà memorizzate nella cache all'istanza di Microsoft SQL Server. (Ereditato da ReplicationObject) |
CopySnapshot(String, String, String) |
Copia i file di snapshot più recenti per una sottoscrizione specifica nella cartella di destinazione. |
Create() |
Crea la pubblicazione. (Ereditato da Publication) |
CreateSnapshotAgent() |
Crea il processo SQL Server Agent utilizzato per generare lo snapshot iniziale per la pubblicazione, se il processo non esiste già. (Ereditato da Publication) |
Decouple() |
Disaccoppia dal server l'oggetto di replica a cui si fa riferimento. (Ereditato da ReplicationObject) |
EnumArticles() |
Restituisce gli articoli della pubblicazione. (Ereditato da Publication) |
EnumPublicationAccesses(Boolean) |
Restituisce gli account che hanno accesso al server di pubblicazione. (Ereditato da Publication) |
EnumSubscriptions() |
Restituisce le sottoscrizioni eseguite alla pubblicazione. (Ereditato da Publication) |
GetChangeCommand(StringBuilder, String, String) |
Restituisce il comando di modifica dalla replica. (Ereditato da ReplicationObject) |
GetCreateCommand(StringBuilder, Boolean, ScriptOptions) |
Restituisce il comando di creazione dalla replica. (Ereditato da ReplicationObject) |
GetDropCommand(StringBuilder, Boolean) |
Restituisce il comando di eliminazione dalla replica. (Ereditato da ReplicationObject) |
GrantPublicationAccess(String) |
Aggiunge l'account di accesso specificato all'elenco di accesso alla pubblicazione. (Ereditato da Publication) |
InternalRefresh(Boolean) |
Avvia un aggiornamento interno dalla replica. (Ereditato da ReplicationObject) |
Load() |
Carica le proprietà di un oggetto esistente dal server. (Ereditato da ReplicationObject) |
LoadProperties() |
Carica le proprietà di un oggetto esistente dal server. (Ereditato da ReplicationObject) |
MakePullSubscriptionWellKnown(String, String, SubscriptionSyncType, TransSubscriberType) |
Registra una sottoscrizione pull nel server di pubblicazione. |
MakePullSubscriptionWellKnown(String, String, SubscriptionSyncType, TransSubscriberType, Boolean) |
Rappresenta una pubblicazione transazionale. |
PostTracerToken() |
Inserisce un token di traccia nel log del server di pubblicazione per iniziare il processo di determinazione della latenza. |
Refresh() |
Ricarica le proprietà dell'oggetto. (Ereditato da ReplicationObject) |
RefreshSubscriptions() |
Aggiorna tutte le sottoscrizioni di una pubblicazione includendovi gli articoli appena aggiunti. |
ReinitializeAllSubscriptions() |
Contrassegna per la reinizializzazione tutte le sottoscrizioni della pubblicazione. |
ReinitializeAllSubscriptions(Boolean) |
Contrassegna per la reinizializzazione tutte le sottoscrizioni alla pubblicazione, con l'opzione per invalidare uno snapshot esistente. |
Remove() |
Rimuove una pubblicazione esistente. (Ereditato da Publication) |
Remove(Boolean) |
Rimuove una pubblicazione esistente anche se non è possibile accedere al server di distribuzione. (Ereditato da Publication) |
RemovePullSubscription(String, String) |
Rimuove la registrazione per una sottoscrizione pull nel server di pubblicazione. |
ReplicateUserDefinedScript(String) |
Replica l'esecuzione di uno script definito dall'utente nei Sottoscrittori di una pubblicazione specificata. (Ereditato da Publication) |
RevokePublicationAccess(String) |
Rimuove l'account di accesso specificato dall'elenco di accesso alla pubblicazione. (Ereditato da Publication) |
Script(ScriptOptions) |
Genera uno script Transact-SQL che può essere utilizzato per ricreare la pubblicazione come specificato dalle opzioni di script. (Ereditato da Publication) |
SetPeerConflictDetection(Boolean, Int32) |
Abilita o disabilita il rilevamento dei conflitti per un nodo in una topologia peer-to-peer. |
StartSnapshotGenerationAgentJob() |
Avvia il processo che genera lo snapshot iniziale per la pubblicazione. (Ereditato da Publication) |
StopSnapshotGenerationAgentJob() |
Tenta di arrestare un processo dell'agente snapshot in esecuzione. (Ereditato da Publication) |
ValidatePublication(ValidationOption, ValidationMethod, Boolean) |
Richiama la convalida della pubblicazione inline per tutte le sottoscrizioni. |
ValidateSubscriptions(String[], String[], ValidationOption, ValidationMethod, Boolean) |
Richiama la convalida della pubblicazione inline per la sottoscrizione specificata. |