TransPublication Kelas

Definisi

Mewakili publikasi transaksi.

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
Warisan

Contoh

Contoh ini membuat publikasi transaksi.

// 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

Contoh ini menghapus publikasi transaksi.

// 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

Keterangan

Keamanan Thread

Setiap anggota statis publik (Shared di Microsoft Visual Basic) jenis ini aman untuk operasi multithreaded. Setiap anggota instans tidak dijamin aman untuk utas.

Konstruktor

TransPublication()

Membuat instans TransPublication baru kelas.

TransPublication(String, String, ServerConnection)

Membuat instans TransPublication baru kelas dengan properti yang diperlukan.

TransPublication(String, String, ServerConnection, Boolean)

Membuat instans TransPublication baru kelas dengan properti yang diperlukan, dan menunjukkan apakah pekerjaan Agen Rekam Jepret untuk publikasi dibuat.

Properti

AltSnapshotFolder

Mendapatkan atau mengatur lokasi file rekam jepret alternatif untuk publikasi.

(Diperoleh dari Publication)
Attributes

Mendapatkan atau mengatur atribut publikasi.

(Diperoleh dari Publication)
CachePropertyChanges

Mendapatkan atau mengatur apakah akan menyimpan perubahan yang dilakukan pada properti replikasi atau segera menerapkannya.

(Diperoleh dari ReplicationObject)
CompatibilityLevel

Mendapatkan atau mengatur versi awal Microsoft SQL Server yang berjalan pada Pelanggan yang dapat didukung publikasi yang dirujuk.

(Diperoleh dari Publication)
ConflictPolicy

Mendapatkan atau menetapkan kebijakan konflik untuk publikasi yang mendukung pembaruan langganan.

ConflictRetention

Mendapatkan atau mengatur jumlah hari baris data konflik dipertahankan dalam tabel konflik.

(Diperoleh dari Publication)
ConnectionContext

Mendapatkan atau mengatur koneksi ke instans Microsoft SQL Server.

(Diperoleh dari ReplicationObject)
ContinueOnConflict

Menentukan apakah Agen Distribusi terus memproses perubahan setelah konflik terdeteksi.

CreateSnapshotAgentByDefault

Mendapatkan atau mengatur apakah pekerjaan Agen Rekam Jepret ditambahkan secara otomatis saat publikasi dibuat.

(Diperoleh dari Publication)
DatabaseName

Mendapatkan atau mengatur nama database publikasi.

(Diperoleh dari Publication)
Description

Mendapatkan atau mengatur deskripsi tekstual publikasi.

(Diperoleh dari Publication)
FtpAddress

Mendapatkan atau mengatur alamat komputer server Protokol Transfer File (FTP) untuk publikasi yang memungkinkan inisialisasi langganan melalui FTP.

(Diperoleh dari Publication)
FtpLogin

Mendapatkan atau mengatur login yang digunakan untuk menyambungkan ke server Protokol Transfer File (FTP) untuk publikasi yang memungkinkan inisialisasi langganan melalui FTP.

(Diperoleh dari Publication)
FtpPassword

Mengatur kata sandi untuk masuk yang digunakan untuk menyambungkan ke server Protokol Transfer File (FTP) untuk publikasi yang memungkinkan inisialisasi langganan melalui FTP.

(Diperoleh dari Publication)
FtpPort

Mendapatkan atau mengatur port komputer server Protokol Transfer File (FTP) untuk publikasi yang memungkinkan inisialisasi langganan melalui FTP.

(Diperoleh dari Publication)
FtpSubdirectory

Mendapatkan atau mengatur subdirektori pada komputer server Protokol Transfer File (FTP) untuk publikasi yang memungkinkan inisialisasi langganan melalui FTP.

(Diperoleh dari Publication)
HasSubscription

Mendapatkan apakah publikasi memiliki satu atau beberapa langganan.

(Diperoleh dari Publication)
IsExistingObject

Mendapatkan apakah objek ada di server atau tidak.

(Diperoleh dari ReplicationObject)
Name

Mendapatkan atau mengatur nama publikasi.

(Diperoleh dari Publication)
PeerConflictDetectionEnabled

Mendapatkan apakah deteksi konflik peer-to-peer diaktifkan dengan menggunakan SetPeerConflictDetection(Boolean, Int32).

PeerOriginatorID

Mendapatkan ID untuk node dalam topologi peer-to-peer; ID ini digunakan untuk deteksi konflik jika PeerConflictDetectionEnabled diatur ke true.

PostSnapshotScript

Mendapatkan atau mengatur nama dan jalur lengkap file skrip Transact-SQL yang dijalankan setelah rekam jepret awal diterapkan ke Pelanggan.

(Diperoleh dari Publication)
PreSnapshotScript

Mendapatkan atau mengatur nama dan jalur lengkap file skrip Transact-SQL yang dijalankan sebelum rekam jepret awal diterapkan ke Pelanggan.

(Diperoleh dari Publication)
PubId

Mendapatkan nilai yang secara unik mengidentifikasi publikasi.

(Diperoleh dari Publication)
PublisherName

Mendapatkan atau mengatur nama Publisher non-SQL Server.

QueueType

Mendapatkan atau mengatur jenis antrean yang akan digunakan untuk publikasi yang memungkinkan pembaruan langganan antrean.

ReplicateDdl

Mendapatkan atau mengatur opsi replikasi bahasa definisi data (DDL) yang menentukan apakah perubahan DDL direplikasi.

(Diperoleh dari Publication)
RetentionPeriod

Mendapatkan atau mengatur jumlah waktu sebelum langganan kedaluwarsa saat langganan tidak disinkronkan dengan publikasi.

(Diperoleh dari Publication)
SecureFtpPassword

Mengatur kata sandi (sebagai SecureString objek) untuk login yang digunakan untuk menyambungkan ke server Protokol Transfer File (FTP) untuk publikasi yang memungkinkan inisialisasi langganan melalui FTP.

(Diperoleh dari Publication)
SnapshotAgentExists

Mendapatkan apakah pekerjaan SQL Server Agent ada untuk menghasilkan rekam jepret awal untuk publikasi ini.

(Diperoleh dari Publication)
SnapshotAvailable

Mendapatkan apakah file rekam jepret untuk publikasi ini tersedia atau tidak untuk digunakan.

SnapshotGenerationAgentProcessSecurity

Mendapatkan objek yang mengatur akun Windows tempat pekerjaan Agen Rekam Jepret berjalan.

(Diperoleh dari Publication)
SnapshotGenerationAgentPublisherSecurity

Mendapatkan konteks keamanan yang digunakan oleh Agen Rekam Jepret untuk menyambungkan ke Penerbit.

(Diperoleh dari Publication)
SnapshotJobId

Mendapatkan ID pekerjaan Agen Rekam Jepret untuk publikasi saat ini.

(Diperoleh dari Publication)
SnapshotMethod

Mendapatkan atau mengatur format file data dari rekam jepret awal.

(Diperoleh dari Publication)
SnapshotSchedule

Mendapatkan objek yang mengatur jadwal Agen Rekam Jepret untuk publikasi saat ini.

(Diperoleh dari Publication)
SqlServerName

Mendapatkan nama instans Microsoft SQL Server tempat objek ini tersambung.

(Diperoleh dari ReplicationObject)
Status

Mendapatkan atau mengatur status publikasi.

(Diperoleh dari Publication)
TransArticles

Mewakili artikel dalam publikasi.

TransSubscriptions

Mewakili langganan publikasi.

Type

Mendapatkan atau mengatur jenis publikasi.

(Diperoleh dari Publication)
UserData

Mendapatkan atau mengatur properti objek yang memungkinkan pengguna melampirkan data mereka sendiri ke objek .

(Diperoleh dari ReplicationObject)

Metode

BrowseSnapshotFolder(String, String)

Mengembalikan jalur lengkap lokasi tempat file rekam jepret dibuat untuk langganan tertentu.

CheckValidCreation()

Memeriksa pembuatan replikasi yang valid.

(Diperoleh dari ReplicationObject)
CheckValidDefinition(Boolean)

Menunjukkan apakah akan memeriksa definisi yang valid.

(Diperoleh dari Publication)
CommitPropertyChanges()

Mengirim semua pernyataan perubahan properti yang di-cache ke instans Microsoft SQL Server.

(Diperoleh dari ReplicationObject)
CopySnapshot(String, String, String)

Menyalin file rekam jepret terbaru untuk langganan tertentu ke folder tujuan.

Create()

Membuat publikasi.

(Diperoleh dari Publication)
CreateSnapshotAgent()

Membuat pekerjaan SQL Server Agent yang digunakan untuk menghasilkan rekam jepret awal untuk publikasi, jika pekerjaan ini belum ada.

(Diperoleh dari Publication)
Decouple()

Memisahkan objek replikasi yang direferensikan dari server.

(Diperoleh dari ReplicationObject)
EnumArticles()

Mengembalikan artikel dalam publikasi.

(Diperoleh dari Publication)
EnumPublicationAccesses(Boolean)

Mengembalikan login yang memiliki akses ke Publisher.

(Diperoleh dari Publication)
EnumSubscriptions()

Mengembalikan langganan yang berlangganan publikasi.

(Diperoleh dari Publication)
GetChangeCommand(StringBuilder, String, String)

Mengembalikan perintah perubahan dari replikasi.

(Diperoleh dari ReplicationObject)
GetCreateCommand(StringBuilder, Boolean, ScriptOptions)

Mengembalikan perintah buat dari replikasi.

(Diperoleh dari ReplicationObject)
GetDropCommand(StringBuilder, Boolean)

Mengembalikan perintah drop dari replikasi.

(Diperoleh dari ReplicationObject)
GrantPublicationAccess(String)

Menambahkan login yang ditentukan ke daftar akses publikasi (PAL).

(Diperoleh dari Publication)
InternalRefresh(Boolean)

Memulai refresh internal dari replikasi.

(Diperoleh dari ReplicationObject)
Load()

Memuat properti objek yang ada dari server.

(Diperoleh dari ReplicationObject)
LoadProperties()

Memuat properti objek yang ada dari server.

(Diperoleh dari ReplicationObject)
MakePullSubscriptionWellKnown(String, String, SubscriptionSyncType, TransSubscriberType)

Mendaftarkan langganan penarikan di Publisher.

MakePullSubscriptionWellKnown(String, String, SubscriptionSyncType, TransSubscriberType, Boolean)

Mewakili publikasi transaksi.

PostTracerToken()

Memposting token pelacak ke dalam log Penerbit untuk memulai proses penentuan latensi.

Refresh()

Memuat ulang properti objek.

(Diperoleh dari ReplicationObject)
RefreshSubscriptions()

Updates semua langganan ke publikasi untuk menyertakan artikel yang baru ditambahkan.

ReinitializeAllSubscriptions()

Menandai semua langganan ke publikasi untuk reinisialisasi.

ReinitializeAllSubscriptions(Boolean)

Menandai semua langganan ke publikasi untuk reinisialisasi, dengan opsi untuk membatalkan rekam jepret yang ada.

Remove()

Menghapus publikasi yang sudah ada.

(Diperoleh dari Publication)
Remove(Boolean)

Menghapus publikasi yang ada meskipun Distributor tidak dapat diakses.

(Diperoleh dari Publication)
RemovePullSubscription(String, String)

Menghapus pendaftaran untuk langganan penarikan di Publisher.

ReplicateUserDefinedScript(String)

Mereplikasi eksekusi skrip yang ditentukan pengguna kepada Pelanggan publikasi tertentu.

(Diperoleh dari Publication)
RevokePublicationAccess(String)

Menghapus login yang ditentukan dari daftar akses publikasi (PAL).

(Diperoleh dari Publication)
Script(ScriptOptions)

Menghasilkan skrip Transact-SQL yang dapat digunakan untuk membuat ulang publikasi seperti yang ditentukan oleh opsi skrip.

(Diperoleh dari Publication)
SetPeerConflictDetection(Boolean, Int32)

Mengaktifkan atau menonaktifkan deteksi konflik untuk simpul dalam topologi peer-to-peer.

StartSnapshotGenerationAgentJob()

Memulai pekerjaan yang menghasilkan rekam jepret awal untuk publikasi.

(Diperoleh dari Publication)
StopSnapshotGenerationAgentJob()

Upaya untuk menghentikan pekerjaan Agen Rekam Jepret yang sedang berjalan.

(Diperoleh dari Publication)
ValidatePublication(ValidationOption, ValidationMethod, Boolean)

Memanggil validasi publikasi sebaris untuk semua langganan.

ValidateSubscriptions(String[], String[], ValidationOption, ValidationMethod, Boolean)

Memanggil validasi publikasi sebaris untuk langganan yang ditentukan.

Berlaku untuk

Lihat juga