MergeSubscription Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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. |