TransPublication-Klasse

Represents a transactional publication.

Vererbungshierarchie

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

Namespace:  Microsoft.SqlServer.Replication
Assembly:  Microsoft.SqlServer.Rmo (in Microsoft.SqlServer.Rmo.dll)

Syntax

'Declaration
Public NotInheritable Class TransPublication _
    Inherits Publication
'Usage
Dim instance As TransPublication
public sealed class TransPublication : Publication
public ref class TransPublication sealed : public Publication
[<SealedAttribute>]
type TransPublication =  
    class
        inherit Publication
    end
public final class TransPublication extends Publication

Der TransPublication-Typ macht folgende Elemente verfügbar.

Konstruktoren

  Name Beschreibung
Öffentliche Methode TransPublication() () () () Creates a new instance of the TransPublication class.
Öffentliche Methode TransPublication(String, String, ServerConnection) Creates a new instance of the TransPublication class with the required properties.
Öffentliche Methode TransPublication(String, String, ServerConnection, Boolean) Creates a new instance of the TransPublication class with the required properties, and indicates whether the Snapshot Agent job for the publication is created.

Zum Anfang

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft AltSnapshotFolder Gets or sets the alternate snapshot file location for a publication. (Geerbt von Publication.)
Öffentliche Eigenschaft Attributes Gets or sets the publication attributes. (Geerbt von Publication.)
Öffentliche Eigenschaft CachePropertyChanges Gets or sets whether to cache changes made to the replication properties or to apply them immediately. (Geerbt von ReplicationObject.)
Öffentliche Eigenschaft CompatibilityLevel Gets or sets the earliest version of Microsoft SQL Server running on the Subscribers that the referenced publication can support. (Geerbt von Publication.)
Öffentliche Eigenschaft ConflictPolicy Gets or sets the conflict policy for publications that support updating subscriptions.
Öffentliche Eigenschaft ConflictRetention Gets or sets the number of days that conflict data rows are retained in conflict tables. (Geerbt von Publication.)
Öffentliche Eigenschaft ConnectionContext Gets or sets the connection to an instance of Microsoft SQL Server. (Geerbt von ReplicationObject.)
Öffentliche Eigenschaft ContinueOnConflict Determines whether the Distribution Agent continues to process changes after a conflict is detected.
Öffentliche Eigenschaft CreateSnapshotAgentByDefault Gets or sets if the Snapshot Agent job is added automatically when the publication is created. (Geerbt von Publication.)
Öffentliche Eigenschaft DatabaseName Gets or sets the name of the publication database. (Geerbt von Publication.)
Öffentliche Eigenschaft Description Gets or sets a textual description of the publication. (Geerbt von Publication.)
Öffentliche Eigenschaft FtpAddress Gets or sets the address of the File Transfer Protocol (FTP) server computer for publications that allow subscription initialization over FTP. (Geerbt von Publication.)
Öffentliche Eigenschaft FtpLogin Gets or sets the login that is used to connect to the File Transfer Protocol (FTP) server for publications that allow subscription initialization over FTP. (Geerbt von Publication.)
Öffentliche Eigenschaft FtpPassword Sets the password for the login that is used to connect to the File Transfer Protocol (FTP) server for publications that allow subscription initialization over FTP. (Geerbt von Publication.)
Öffentliche Eigenschaft FtpPort Gets or sets the port of the File Transfer Protocol (FTP) server computer for publications that allow subscription initialization over FTP. (Geerbt von Publication.)
Öffentliche Eigenschaft FtpSubdirectory Gets or sets the subdirectory on the File Transfer Protocol (FTP) server computer for publications that allow subscription initialization over FTP. (Geerbt von Publication.)
Öffentliche Eigenschaft HasSubscription Gets whether the publication has one or more subscriptions. (Geerbt von Publication.)
Öffentliche Eigenschaft IsExistingObject Gets whether the object exists on the server or not. (Geerbt von ReplicationObject.)
Öffentliche Eigenschaft Name Gets or sets the name of the publication. (Geerbt von Publication.)
Öffentliche Eigenschaft PeerConflictDetectionEnabled Gets whether peer-to-peer conflict detection was enabled by using SetPeerConflictDetection.
Öffentliche Eigenschaft PeerOriginatorID Gets the ID for a node in a peer-to-peer topology; this ID is used for conflict detection if PeerConflictDetectionEnabled is set to true.
Öffentliche Eigenschaft PostSnapshotScript Gets or sets the name and full path of a Transact-SQL script file that is executed after the initial snapshot is applied to the Subscriber. (Geerbt von Publication.)
Öffentliche Eigenschaft PreSnapshotScript Gets or sets the name and full path of a Transact-SQL script file that is executed before the initial snapshot is applied to the Subscriber. (Geerbt von Publication.)
Öffentliche Eigenschaft PubId Gets the value that uniquely identifies the publication. (Geerbt von Publication.)
Öffentliche Eigenschaft PublisherName Gets or sets the name of the non-SQL Server Publisher.
Öffentliche Eigenschaft QueueType Gets or sets the type of queue to use for publications that allow queued updating subscriptions.
Öffentliche Eigenschaft ReplicateDdl Gets or sets the data definition language (DDL) replication options that determine if DDL changes are replicated. (Geerbt von Publication.)
Öffentliche Eigenschaft RetentionPeriod Gets or sets the amount of time before a subscription expires when the subscription is not synchronized with the publication. (Geerbt von Publication.)
Öffentliche Eigenschaft SecureFtpPassword Sets the password (as a SecureString object) for the login used to connect to the File Transfer Protocol (FTP) server for publications that allow subscription initialization over FTP. (Geerbt von Publication.)
Öffentliche Eigenschaft SnapshotAgentExists Gets if the SQL Server Agent job exists to generate the initial snapshot for this publication. (Geerbt von Publication.)
Öffentliche Eigenschaft SnapshotAvailable Gets whether or not the snapshot files for this publication are available for use.
Öffentliche Eigenschaft SnapshotGenerationAgentProcessSecurity Gets an object that sets the Windows account under which the Snapshot Agent job runs. (Geerbt von Publication.)
Öffentliche Eigenschaft SnapshotGenerationAgentPublisherSecurity Gets the security context used by the Snapshot Agent to connect to the Publisher. (Geerbt von Publication.)
Öffentliche Eigenschaft SnapshotJobId Gets the Snapshot Agent job ID for the current publication. (Geerbt von Publication.)
Öffentliche Eigenschaft SnapshotMethod Gets or sets the data file format of the initial snapshot. (Geerbt von Publication.)
Öffentliche Eigenschaft SnapshotSchedule Gets an object that sets the schedule for the Snapshot Agent for the current publication. (Geerbt von Publication.)
Öffentliche Eigenschaft SqlServerName Gets the name of the Microsoft SQL Server instance to which this object is connected. (Geerbt von ReplicationObject.)
Öffentliche Eigenschaft Status Gets or sets the status of the publication. (Geerbt von Publication.)
Öffentliche Eigenschaft TransArticles Represents the articles in the publication.
Öffentliche Eigenschaft TransSubscriptions Represents subscriptions to the publication.
Öffentliche Eigenschaft Type Gets or sets the type of publication. (Geerbt von Publication.)
Öffentliche Eigenschaft UserData Gets or sets an object property that allows users to attach their own data to the object. (Geerbt von ReplicationObject.)

Zum Anfang

Methoden

  Name Beschreibung
Öffentliche Methode BrowseSnapshotFolder Returns the complete path of the location where snapshot files were generated for a specific subscription.
Geschützte Methode CheckValidCreation Infrastruktur (Geerbt von ReplicationObject.)
Geschützte Methode CheckValidDefinition Infrastruktur (Geerbt von Publication.)
Öffentliche Methode CommitPropertyChanges Sends all the cached property change statements to the instance of Microsoft SQL Server. (Geerbt von ReplicationObject.)
Öffentliche Methode CopySnapshot Copies the latest snapshot files for a specific subscription to a destination folder.
Öffentliche Methode Create Creates the publication. (Geerbt von Publication.)
Öffentliche Methode CreateSnapshotAgent Creates the SQL Server Agent job that is used to generate the initial snapshot for the publication, if this job does not already exist. (Geerbt von Publication.)
Öffentliche Methode Decouple Decouples the referenced replication object from the server. (Geerbt von ReplicationObject.)
Öffentliche Methode EnumArticles Returns the articles in the publication. (Geerbt von Publication.)
Öffentliche Methode EnumPublicationAccesses Returns logins that have access to the Publisher. (Geerbt von Publication.)
Öffentliche Methode EnumSubscriptions Returns the subscriptions that subscribe to the publication. (Geerbt von Publication.)
Öffentliche Methode Equals (Geerbt von Object.)
Geschützte Methode Finalize (Geerbt von Object.)
Geschützte Methode GetChangeCommand Infrastruktur (Geerbt von ReplicationObject.)
Geschützte Methode GetCreateCommand Infrastruktur (Geerbt von ReplicationObject.)
Geschützte Methode GetDropCommand Infrastruktur (Geerbt von ReplicationObject.)
Öffentliche Methode GetHashCode (Geerbt von Object.)
Öffentliche Methode GetType (Geerbt von Object.)
Öffentliche Methode GrantPublicationAccess Adds the specified login to the publication access list (PAL). (Geerbt von Publication.)
Geschützte Methode InternalRefresh Infrastruktur (Geerbt von ReplicationObject.)
Öffentliche Methode Load Loads the properties of an existing object from the server. (Geerbt von ReplicationObject.)
Öffentliche Methode LoadProperties Loads the properties of an existing object from the server. (Geerbt von ReplicationObject.)
Öffentliche Methode MakePullSubscriptionWellKnown Registers a pull subscription at the Publisher.
Geschützte Methode MemberwiseClone (Geerbt von Object.)
Öffentliche Methode PostTracerToken Posts a tracer token into the Publisher log to begin the process of determining latency.
Öffentliche Methode Refresh Reloads the properties of the object. (Geerbt von ReplicationObject.)
Öffentliche Methode RefreshSubscriptions Updates all subscriptions to a publication to include any newly added articles.
Öffentliche Methode ReinitializeAllSubscriptions() () () () Marks all subscriptions to the publication for reinitialization.
Öffentliche Methode ReinitializeAllSubscriptions(Boolean) Marks all subscriptions to the publication for reinitialization, with the option to invalidate an existing snapshot.
Öffentliche Methode Remove() () () () Removes an existing publication. (Geerbt von Publication.)
Öffentliche Methode Remove(Boolean) Removes an existing publication even if the Distributor cannot be accessed. (Geerbt von Publication.)
Öffentliche Methode RemovePullSubscription Removes the registration for a pull subscription at the Publisher.
Öffentliche Methode ReplicateUserDefinedScript Replicates the execution of a user-defined script to the Subscribers of a specified publication. (Geerbt von Publication.)
Öffentliche Methode RevokePublicationAccess Removes the specified login from the publication access list (PAL). (Geerbt von Publication.)
Öffentliche Methode Script Generates a Transact-SQL script that can be used to re-create the publication as specified by the script options. (Geerbt von Publication.)
Öffentliche Methode SetPeerConflictDetection Enables or disables conflict detection for a node in a peer-to-peer topology.
Öffentliche Methode StartSnapshotGenerationAgentJob Starts the job that generates the initial snapshot for the publication. (Geerbt von Publication.)
Öffentliche Methode StopSnapshotGenerationAgentJob Attempts to stop a running Snapshot Agent job. (Geerbt von Publication.)
Öffentliche Methode ToString (Geerbt von Object.)
Öffentliche Methode ValidatePublication Invokes inline publication validation for all subscriptions.
Öffentliche Methode ValidateSubscriptions Invokes inline publication validation for the specified subscription.

Zum Anfang

Hinweise

This namespace, class, or member is supported only in version 2.0 of the .NET Framework.

Thread Safety

Any public static (Shared in Microsoft Visual Basic) members of this type are safe for multithreaded operations. Any instance members are not guaranteed to be thread safe.

Beispiele

This example creates a transactional publication.

         // Set the Publisher, publication database, and publication names.
            string publicationName = "AdvWorksProductTran";
            string publicationDbName = "AdventureWorks2008R2";
            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 AdventureWorks 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 = "AdventureWorks2008R2"
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 AdventureWorks 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

This example deletes a transactional publication.

           // Define the Publisher, publication database, 
            // and publication names.
            string publisherName = publisherInstance;
            string publicationName = "AdvWorksProductTran";
            string publicationDbName = "AdventureWorks2008R2";

            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 = "AdventureWorks2008R2"

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

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Elemente dieses Typs sind Threadsicher. Für Instanzelemente wird die Threadsicherheit nicht gewährleistet.