Aracılığıyla paylaş


MergePullSubscription.SynchronizeWithJob Yöntemi

Aracısı başlar iş zaman uyumsuz olarak istek temelli abonelik eşitlemek için.

Ad Alanı:  Microsoft.SqlServer.Replication
Derleme:  Microsoft.SqlServer.Rmo (Microsoft.SqlServer.Rmo içinde.dll)

Sözdizimi

'Bildirim
Public Overrides Sub SynchronizeWithJob
'Kullanım
Dim instance As MergePullSubscription

instance.SynchronizeWithJob()
public override void SynchronizeWithJob()
public:
virtual void SynchronizeWithJob() override
abstract SynchronizeWithJob : unit -> unit 
override SynchronizeWithJob : unit -> unit 
public override function SynchronizeWithJob()

Açıklamalar

Use MergeSynchronizationAgent nesne tarafından döndürülen SynchronizationAgent özellik, zaman uyumlu olarak Birleştirme Aracısı başlatmak için.

istek temelli abonelik değeriyle oluşturulur, yanlış için CreateSyncAgentByDefault, varsayılan bir Birleştirme Aracısı iş abonelik için oluşturulan ve arama değil SynchronizeWithJob neden olacak bir özel durum.

Call StopSynchronizationJob durdurmak için yöntem iş , şu anda çalışıyor ise

The job is not able to start if the Microsoft SQL Server Agent Service is not running.anlık görüntü oluşturulursa, aynı zamanda çalışan Aracısı iş Abonelik eşitleme yapamayabilir.

Varsa, küme 'ın bu örneğinin üzerinde ek özellikler MergePullSubscription, çağrı CommitPropertyChanges önce edinilecek SynchronizeWithJob.

SynchronizeWithJob yöntem yalnızca adlı üyeleri tarafından sysadmin sabit sunucu rolü üyeleri tarafından veya abone db_owner abonelik veritabanı üzerinde sabit veritabanı rolü.

Bu ad, sınıf veya üye yalnızca desteklenen sürüm 2.0 Microsoft .net Framework.

Örnekler

           // Define server, publication, and database names.
            String subscriberName = subscriberInstance;
            String publisherName = publisherInstance;
            String publicationName = "AdvWorksSalesOrdersMerge";
            String publicationDbName = "AdventureWorks2008R2";
            String subscriptionDbName = "AdventureWorks2008R2Replica";

            // Create a connection to the Subscriber.
            ServerConnection conn = new ServerConnection(subscriberName);

            MergePullSubscription subscription;

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

                // Define subscription properties.
                subscription = new MergePullSubscription();
                subscription.ConnectionContext = conn;
                subscription.DatabaseName = subscriptionDbName;
                subscription.PublisherName = publisherName;
                subscription.PublicationDBName = publicationDbName;
                subscription.PublicationName = publicationName;

                // If the pull subscription and the job exists, start the agent job.
                if (subscription.LoadProperties() && subscription.AgentJobId != null)
                {
                    subscription.SynchronizeWithJob();
                }
                else
                {
                    // Do something here if the subscription does not exist.
                    throw new ApplicationException(String.Format(
                        "A subscription to '{0}' does not exists on {1}",
                        publicationName, subscriberName));
                }
            }
            catch (Exception ex)
            {
                // Do appropriate error handling here.
                throw new ApplicationException("The subscription could not be synchronized.", ex);
            }
            finally
            {
                conn.Disconnect();
            }
' Define server, publication, and database names.
Dim subscriberName As String = subscriberInstance
Dim publisherName As String = publisherInstance
Dim publicationName As String = "AdvWorksSalesOrdersMerge"
Dim publicationDbName As String = "AdventureWorks2008R2"
Dim subscriptionDbName As String = "AdventureWorks2008R2Replica"

' Create a connection to the Subscriber.
Dim conn As ServerConnection = New ServerConnection(subscriberName)

Dim subscription As MergePullSubscription

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

    ' Define subscription properties.
    subscription = New MergePullSubscription()
    subscription.ConnectionContext = conn
    subscription.DatabaseName = subscriptionDbName
    subscription.PublisherName = publisherName
    subscription.PublicationDBName = publicationDbName
    subscription.PublicationName = publicationName

    ' If the pull subscription and the job exists, start the agent job.
    If subscription.LoadProperties() And Not subscription.AgentJobId Is Nothing Then
        subscription.SynchronizeWithJob()
    Else
        ' Do something here if the subscription does not exist.
        Throw New ApplicationException(String.Format( _
         "A subscription to '{0}' does not exists on {1}", _
         publicationName, subscriberName))
    End If
Catch ex As Exception
    ' Do appropriate error handling here.
    Throw New ApplicationException("The subscription could not be synchronized.", ex)
Finally
    conn.Disconnect()
End Try