Aracılığıyla paylaş


Nasıl Yapılır: çekme temelli abonelik (RMO programlama) eşitleyebilirsiniz.

Çekme abonelik çoğaltma Management Objects (RMO) ve yönetilen kod erişimi çoğaltma aracısının işlevleri kullanarak programlı olarak eşitleyebilirsiniz.çekme temelli abonelik eşitlemek için kullandığınız sınıfları, aboneliğin ait olduğu yayın türüne bağlıdır.

Not

Aracı, autonomously uygulamanız etkilemeden çalışan bir eşitlemeyi başlatmak istiyorsanız, zaman uyumsuz olarak başlatın.Ancak, eşitlemenin durumunu izlemek ve (örneğin, bir ilerleme çubuğu görüntülemek için) eşitleme işlemi sırasında aracı geri almak isterseniz, aracı eşzamanlı olarak başlayacaktır.For Microsoft SQL Server 2005 Express Edition Subscribers, you must start the agent synchronously.

çekme temelli abonelik bir anlık görüntü veya işlemsel yayım eşitlemek için

  1. Abone bağlantı kullanarak oluşturduğunuz ServerConnection sınıf.

  2. örnek TransPullSubscription sınıf ve küme aşağıdaki özellikleri:

    • Abonelik için veritabanı adı DatabaseName().

    • Için abonelik ait olduğu yayın adı PublicationName().

    • Için yayın veritabanının adı PublicationDBName().

    • Için yayımcının adını PublisherName().

    • Bağlantı için adım 1'de oluşturulmuş. ConnectionContext().

  3. Call LoadProperties() yöntem, geri kalan Abonelik özellikleri alınamadı. Bu yöntem döndürüyorsa false, doğrulayın abonelik bulunmaktadır.

  4. Distribution Agent abone en aşağıdaki yollardan biri ile başlatın:

    • Call SynchronizeWithJob() yöntem örnek TransPullSubscription 2 adımından. Bu yöntem dağıtım aracısını zaman uyumsuz olarak başlatır ve Denetim Aracısı iş çalıştığı sırada, hemen uygulamanıza döndürür.Bu yöntem çağrılamıyor SQL Server 2005 Express Edition Abonelerin veya abonelik değeri ile oluşturuldu false için CreateSyncAgentByDefault() (varsayılan).

    • Bir kopyasını almak TransSynchronizationAgent gelen sınıf SynchronizationAgent() özellik ve çağrı Synchronize() yöntem. Bu yöntem aracı eşzamanlı olarak başlatılır ve Denetim ile çalışan Aracısı iş kalır.Zaman uyumlu yürütme sırasında tanıtıcı Status() Aracı çalışırken olay.

      Not

      Bir değer belirtilmişse false için CreateSyncAgentByDefault() (varsayılan), çekme temelli abonelik oluştururken, bunları da belirtmeniz gerekir Distributor(), DistributorSecurityMode()ve isteğe bağlı DistributorLogin() ve DistributorPassword() Aracısı iş ilgili aboneliğin meta veriler kullanılabilir durumda değildir, çünkü MSsubscription_properties.

Bir mektup birleştirme için çekme temelli abonelik eşitlemeye yayın

  1. Abone bağlantı kullanarak oluşturduğunuz ServerConnection sınıf.

  2. örnek MergePullSubscription sınıf ve küme aşağıdaki özellikleri:

    • Abonelik için veritabanı adı DatabaseName().

    • Için abonelik ait olduğu yayın adı PublicationName().

    • Yayımlanmış veritabanı adı PublicationDBName().

    • Için yayımcının adını PublisherName().

    • Bağlantı için adım 1'de oluşturulmuş. ConnectionContext().

  3. Call LoadProperties() yöntem, geri kalan Abonelik özellikleri alınamadı. Bu yöntem döndürüyorsa false, doğrulayın abonelik bulunmaktadır.

  4. Birleştirme Aracısı abone en aşağıdaki yollardan biri ile başlatın:

    • Call SynchronizeWithJob() yöntem örnek MergePullSubscription 2 adımından. Bu yöntem Birleştirme Aracısı zaman uyumsuz olarak başlatır ve Denetim Aracısı iş çalıştığı sırada, hemen uygulamanıza döndürür.Bu yöntem çağrılamıyor SQL Server 2005 Express Edition Abonelerin veya abonelik değeri ile oluşturuldu false için CreateSyncAgentByDefault() (varsayılan).

    • Bir kopyasını edinmek MergeSynchronizationAgent gelen sınıf SynchronizationAgent() özellik ve çağrı Synchronize() yöntem. Bu yöntem Birleştirme Aracısı eşzamanlı olarak başlatılır ve Denetim ile çalışan Aracısı iş kalır.Zaman uyumlu yürütme sırasında tanıtıcı Status() Aracı çalışırken olay.

      Not

      Bir değer belirtilmişse false için CreateSyncAgentByDefault() (varsayılan), çekme temelli abonelik oluştururken, bunları da belirtmeniz gerekir Distributor(), DistributorSecurityMode(), PublisherSecurityMode(), HostName(), SubscriptionType(), ExchangeType()ve isteğe bağlı DistributorLogin(), DistributorPassword(), PublisherLogin(), ve PublisherPassword() Aracısı iş ilgili aboneliğin meta veriler kullanılabilir durumda değildir, çünkü MSsubscription_properties.

Example

Bu örnek, iş için çekme temelli abonelik eşitler yayın burada, zaman uyumsuz olarak aracısı işlemini kullanarak, aracı başlatılır.

Bu örnek, bir işlem için çekme temelli abonelik eşitler yayın, aracı eşzamanlı olarak başlatılır.

Bu örnek, bir mektup birleştirme için çekme temelli abonelik eşitler yayın burada, zaman uyumsuz olarak aracısı işlemini kullanarak, aracı başlatılır.

Bu örnek, bir mektup birleştirme için çekme temelli abonelik eşitler yayın, aracı eşzamanlı olarak başlatılır.

Bu örnek, bir mektup birleştirme için çekme temelli abonelik eşitler yayın Web üzerinden eşitleme kullanarak.Abonelik aracı, zaman uyumlu olarak başlatılmalıdır ve ek abonelik bilgileri sağlanır; böylece ilgili abonelik meta veriler ve Aracısı iş oluşturuldu.