MergeSubscription Kelas

Definisi

Mewakili langganan untuk publikasi gabungan yang terdaftar di Penerbit.

public ref class MergeSubscription sealed : Microsoft::SqlServer::Replication::Subscription
public sealed class MergeSubscription : Microsoft.SqlServer.Replication.Subscription
type MergeSubscription = class
    inherit Subscription
Public NotInheritable Class MergeSubscription
Inherits Subscription
Warisan

Contoh

// Define the Publisher, publication, and databases.
string publicationName = "AdvWorksSalesOrdersMerge";
string publisherName = publisherInstance;
string subscriberName = subscriberInstance;
string subscriptionDbName = "AdventureWorks2012Replica";
string publicationDbName = "AdventureWorks2012";
string hostname = @"adventure-works\garrett1";

//Create a connection to the Publisher.
ServerConnection conn = new ServerConnection(publisherName);

// Create the objects that we need.
MergePublication publication;
MergeSubscription subscription;

try
{
    // Connect to the Publisher.
    conn.Connect();

    // Ensure that the publication exists and that 
    // it supports push subscriptions.
    publication = new MergePublication();
    publication.Name = publicationName;
    publication.DatabaseName = publicationDbName;
    publication.ConnectionContext = conn;

    if (publication.IsExistingObject)
    {
        if ((publication.Attributes & PublicationAttributes.AllowPush) == 0)
        {
            publication.Attributes |= PublicationAttributes.AllowPush;
        }

        // Define the push subscription.
        subscription = new MergeSubscription();
        subscription.ConnectionContext = conn;
        subscription.SubscriberName = subscriberName;
        subscription.PublicationName = publicationName;
        subscription.DatabaseName = publicationDbName;
        subscription.SubscriptionDBName = subscriptionDbName;
        subscription.HostName = hostname;

        // Set a schedule to synchronize the subscription every 2 hours
        // during weekdays from 6am to 10pm.
        subscription.AgentSchedule.FrequencyType = ScheduleFrequencyType.Weekly;
        subscription.AgentSchedule.FrequencyInterval = Convert.ToInt32(0x003E);
        subscription.AgentSchedule.FrequencyRecurrenceFactor = 1;
        subscription.AgentSchedule.FrequencySubDay = ScheduleFrequencySubDay.Hour;
        subscription.AgentSchedule.FrequencySubDayInterval = 2;
        subscription.AgentSchedule.ActiveStartDate = 20051108;
        subscription.AgentSchedule.ActiveEndDate = 20071231;
        subscription.AgentSchedule.ActiveStartTime = 060000;
        subscription.AgentSchedule.ActiveEndTime = 100000;

        // Specify the Windows login credentials for the Merge Agent job.
        subscription.SynchronizationAgentProcessSecurity.Login = winLogin;
        subscription.SynchronizationAgentProcessSecurity.Password = winPassword;

        // Create the push subscription.
        subscription.Create();
    }
    else
    {
        // Do something here if the publication does not exist.
        throw new ApplicationException(String.Format(
            "The publication '{0}' does not exist on {1}.",
            publicationName, publisherName));
    }
}
catch (Exception ex)
{
    // Implement the appropriate error handling here.
    throw new ApplicationException(String.Format(
        "The subscription to {0} could not be created.", publicationName), ex);
}
finally
{
    conn.Disconnect();
}
' Define the Publisher, publication, and databases.
Dim publicationName As String = "AdvWorksSalesOrdersMerge"
Dim publisherName As String = publisherInstance
Dim subscriberName As String = subscriberInstance
Dim subscriptionDbName As String = "AdventureWorks2012Replica"
Dim publicationDbName As String = "AdventureWorks2012"
Dim hostname As String = "adventure-works\garrett1"

'Create a connection to the Publisher.
Dim conn As ServerConnection = New ServerConnection(publisherName)

' Create the objects that we need.
Dim publication As MergePublication
Dim subscription As MergeSubscription

Try
    ' Connect to the Publisher.
    conn.Connect()

    ' Ensure that the publication exists and that 
    ' it supports push subscriptions.
    publication = New MergePublication()
    publication.Name = publicationName
    publication.DatabaseName = publicationDbName
    publication.ConnectionContext = conn

    If publication.IsExistingObject Then
        If (publication.Attributes And PublicationAttributes.AllowPush) = 0 Then
            publication.Attributes = publication.Attributes _
            Or PublicationAttributes.AllowPush
        End If

        ' Define the push subscription.
        subscription = New MergeSubscription()
        subscription.ConnectionContext = conn
        subscription.SubscriberName = subscriberName
        subscription.PublicationName = publicationName
        subscription.DatabaseName = publicationDbName
        subscription.SubscriptionDBName = subscriptionDbName
        subscription.HostName = hostname

        ' Set a schedule to synchronize the subscription every 2 hours
        ' during weekdays from 6am to 10pm.
        subscription.AgentSchedule.FrequencyType = ScheduleFrequencyType.Weekly
        subscription.AgentSchedule.FrequencyInterval = Convert.ToInt32("0x003E", 16)
        subscription.AgentSchedule.FrequencyRecurrenceFactor = 1
        subscription.AgentSchedule.FrequencySubDay = ScheduleFrequencySubDay.Hour
        subscription.AgentSchedule.FrequencySubDayInterval = 2
        subscription.AgentSchedule.ActiveStartDate = 20051108
        subscription.AgentSchedule.ActiveEndDate = 20071231
        subscription.AgentSchedule.ActiveStartTime = 60000
        subscription.AgentSchedule.ActiveEndTime = 100000

        ' Specify the Windows login credentials for the Merge Agent job.
        subscription.SynchronizationAgentProcessSecurity.Login = winLogin
        subscription.SynchronizationAgentProcessSecurity.Password = winPassword

        ' Create the push subscription.
        subscription.Create()
    Else

        ' Do something here if the publication does not exist.
        Throw New ApplicationException(String.Format( _
         "The publication '{0}' does not exist on {1}.", _
         publicationName, publisherName))
    End If
Catch ex As Exception
    ' Implement the appropriate error handling here.
    Throw New ApplicationException(String.Format( _
    "The subscription to {0} could not be created.", publicationName), ex)
Finally
    conn.Disconnect()
End Try

Keterangan

Kelas MergeSubscription ini digunakan dengan langganan penarikan dan pendorongan ke publikasi gabungan.

Saat mengonfigurasi Penerbit dengan Distributor jarak jauh, nilai yang disediakan untuk semua parameter, termasuk SynchronizationAgentProcessSecurity, dikirim ke Distributor sebagai teks biasa. Anda harus mengenkripsi koneksi antara Penerbit dan Distributor jarak jauhnya sebelum memanggil Create metode . Untuk informasi selengkapnya, lihat sp_reinitmergesubscription (Transact-SQL).

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

MergeSubscription()

Membuat instans MergeSubscription baru kelas .

MergeSubscription(String, String, String, String, ServerConnection)

Membuat instans MergeSubscription baru kelas dengan koneksi yang ditentukan ke Publisher dan properti yang secara unik menentukan langganan.

Properti

AgentJobId

Mendapatkan ID pekerjaan agen yang digunakan untuk menyinkronkan langganan.

(Diperoleh dari Subscription)
AgentOffload

Mendapatkan atau mengatur apakah agen sinkronisasi berjalan di komputer selain yang membuat pekerjaan agen. Properti ini tidak lagi didukung untuk Distributor yang menjalankan Microsoft SQL Server 2005 dan yang lebih baru.

(Diperoleh dari Subscription)
AgentOffloadServer

Mendapatkan atau mengatur nama komputer jarak jauh tempat agen berjalan saat menggunakan aktivasi agen jarak jauh.

(Diperoleh dari Subscription)
AgentSchedule

Mendapatkan jadwal untuk pekerjaan agen yang digunakan untuk menyinkronkan langganan.

(Diperoleh dari Subscription)
CachePropertyChanges

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

(Diperoleh dari ReplicationObject)
ConnectionContext

Mendapatkan atau mengatur koneksi ke instans Microsoft SQL Server.

(Diperoleh dari ReplicationObject)
CreateSyncAgentByDefault

Mendapatkan atau mengatur apakah pekerjaan agen yang digunakan untuk menyinkronkan langganan dibuat secara default.

(Diperoleh dari Subscription)
DatabaseName

Mendapatkan atau mengatur nama database publikasi.

(Diperoleh dari Subscription)
Description

Mendapatkan atau mengatur deskripsi tekstual dari langganan gabungan.

EnabledForSynchronizationManager

Menentukan apakah langganan dapat disinkronkan menggunakan Microsoft Windows Synchronization Manager.

(Diperoleh dari Subscription)
HostName

Mendapatkan atau mengatur nilai yang disediakan ke fungsi HOST_NAME saat fungsi ini digunakan dalam filter baris berparameter yang menentukan partisi data Pelanggan.

IsExistingObject

Mendapatkan apakah objek ada di server atau tidak.

(Diperoleh dari ReplicationObject)
Name

Mendapatkan nama yang ditetapkan ke langganan yang sudah ada.

(Diperoleh dari Subscription)
Priority

Mendapatkan atau mengatur nilai prioritas relatif yang ditetapkan ke langganan server.

PublicationName

Mendapatkan atau menetapkan nama publikasi tempat langganan berlangganan.

(Diperoleh dari Subscription)
PublisherSecurity

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

SqlServerName

Mendapatkan nama instans Microsoft SQL Server tempat objek ini tersambung.

(Diperoleh dari ReplicationObject)
Status

Mendapatkan status langganan.

(Diperoleh dari Subscription)
SubscriberName

Mendapatkan atau menetapkan nama instans Microsoft SQL Server yang merupakan Pelanggan.

(Diperoleh dari Subscription)
SubscriberSecurity

Mendapatkan konteks keamanan yang digunakan untuk menyambungkan ke Pelanggan.

(Diperoleh dari Subscription)
SubscriberType

Mendapatkan atau mengatur apakah langganan adalah langganan klien atau server.

SubscriptionDBName

Mendapatkan atau mengatur nama database pada Pelanggan yang menerima data yang direplikasi.

(Diperoleh dari Subscription)
SubscriptionType

Mendapatkan apakah pendaftaran langganan adalah untuk langganan pendorongan atau penarikan.

(Diperoleh dari Subscription)
SynchronizationAgent

Mendapatkan instans MergeSynchronizationAgent kelas yang dapat digunakan untuk menyinkronkan langganan.

SynchronizationAgentName

Mendapatkan atau mengatur nama pekerjaan agen yang dibuat untuk menyinkronkan langganan.

(Diperoleh dari Subscription)
SynchronizationAgentProcessSecurity

Mendapatkan konteks keamanan yang digunakan untuk menentukan akun Microsoft Windows tempat pekerjaan agen sinkronisasi berjalan untuk menyinkronkan langganan.

(Diperoleh dari Subscription)
SyncType

Mendapatkan atau mengatur cara langganan diinisialisasi.

(Diperoleh dari Subscription)
UseInteractiveResolver

Mendapatkan atau mengatur apakah Pemecah Masalah Interaktif digunakan selama proses sinkronisasi.

UserData

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

(Diperoleh dari ReplicationObject)

Metode

CheckValidCreation()

Memeriksa pembuatan replikasi yang valid.

(Diperoleh dari ReplicationObject)
CheckValidDefinition(Boolean)

Menunjukkan apakah definisi langganan valid.

(Diperoleh dari Subscription)
CommitPropertyChanges()

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

(Diperoleh dari ReplicationObject)
Create()

Membuat pendaftaran langganan di Penerbit.

(Diperoleh dari Subscription)
Decouple()

Memisahkan objek replikasi yang direferensikan dari server.

(Diperoleh dari ReplicationObject)
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 hilangkan dari replikasi.

(Diperoleh dari ReplicationObject)
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)
Refresh()

Memuat ulang properti objek.

(Diperoleh dari ReplicationObject)
Reinitialize(Boolean)

Menandai langganan gabungan untuk reinisialisasi.

Remove()

Menghapus pendaftaran langganan di Penerbit dan menghapus objek replikasi di Pelanggan untuk langganan push.

(Diperoleh dari Subscription)
Script(ScriptOptions)

Mengembalikan skrip Transact-SQL yang dapat digunakan untuk membuat atau menghapus langganan.

(Diperoleh dari Subscription)
StopSynchronizationJob()

Mencoba menghentikan pekerjaan Agen Penggabungan yang sedang berjalan yang saat ini menyinkronkan langganan.

SynchronizeWithJob()

Memulai pekerjaan agen untuk menyinkronkan langganan.

Berlaku untuk

Lihat juga