Aracılığıyla paylaş


Nasıl yapılır: Başlangıç anlık görüntüsü (rmo programlama) oluştur

Bir yayın oluşturduktan sonra Anlık Görüntü Aracısı anlık görüntüler oluşturur.Bu anlık görüntüleri programlı olarak kullanarak oluşturabileceğiniz Çoğaltma Yönetim Nesneleri (rmo) ve doğrudan çoğaltma aracısı işlevleri için yönetilen kod erişim.Kullandığınız nesneleri çoğaltma türüne bağlıdır.Anlık Görüntü Aracısı kullanarak eş zamanlı olarak başlatılabilir SnapshotGenerationAgent nesne veya zaman uyumsuz olarak aracı kullanarak iş.Sonra ilk anlık görüntü olan üretilen, transfer ve abonelik eşitlendiğinde Abone tarafında uygulanan.Varolan anlık görüntü artık yukarı geçerli içeren her Aracısı yeniden gerekecek-için-tarih veri.Daha fazla bilgi için bkz: Yayınları bakımını yapma.

İki parçalı anlık görüntü parametreli filtreleri birleştirme yayımları gerektirir.Daha fazla bilgi için bkz: Nasıl yapılır: Birleştirme yayını ile parametreli süzgeçleri (rmo programlama) için bir Snapshot oluştur.

Güvenlik notuGüvenlik Notu

Mümkün olduğunda, zamanında güvenlik kimlik bilgileri bilgilerini girmesini ister.Kimlik bilgileri saklamanız gerekir kullanın Şifreleme Hizmetleri tarafından sağlanan WindowsMicrosoft .net Framework.

İlk anlık görüntü için bir anlık görüntü veya işlem oluşturmak için yayın Anlık Görüntü Aracısı iş (zaman uyumsuz) başlatarak

  1. Bir bağlantı oluşturmak Yayımcı kullanarak ServerConnection WalkTree

  2. Oluşturma bir örnek , TransPublication WalkTreeküme Name ve DatabaseName yayın ve küme özelliklerini ConnectionContext özellik için adım 1'de oluşturduğunuz bağlantı.

  3. Call LoadProperties yöntem kalan nesnenin özelliklerini yüklemek için.Bu yöntem döndürür, false, yanlış adım 2'de yayın özellikleri tanımlanmış veya yayın yok.

  4. Varsa değeri SnapshotAgentExists olan false, çağrı CreateSnapshotAgent Anlık Görüntü Aracısı oluşturmak için iş için bu yayın.

  5. Call StartSnapshotGenerationAgentJob yöntem Aracısı başlatmak için iş için bu yayın anlık görüntü oluşturur,

  6. (İsteğe bağlı) Zaman değeri SnapshotAvailable olan true, anlık görüntü kullanılabilir aboneleri.

İlk anlık görüntü için bir anlık görüntü veya işlem oluşturmak için yayın çalıştırarak Anlık Görüntü Aracısı (zaman uyumlu)

  1. Örneğini SnapshotGenerationAgent sınıfı ve küme aşağıdaki gerekli özellikler:

  2. Set a value of Transactional or Snapshot for ReplicationType.

  3. Call GenerateSnapshot yöntem.

Anlık Görüntü Aracısı iş (zaman uyumsuz) başlatarak ilk anlık görüntü için birleştirme yayın oluşturmak için

  1. Bir bağlantı oluşturmak Yayımcı kullanarak ServerConnection WalkTree

  2. Oluşturma bir örnek , MergePublication WalkTreeküme Name ve DatabaseName yayın ve küme özelliklerini ConnectionContext özellik için adım 1'de oluşturduğunuz bağlantı.

  3. Call LoadProperties yöntem kalan nesnenin özelliklerini yüklemek için.Bu yöntem döndürür, false, yanlış adım 2'de yayın özellikleri tanımlanmış veya yayın yok.

  4. Varsa değeri SnapshotAgentExists olan false, çağrı CreateSnapshotAgent Anlık Görüntü Aracısı oluşturmak için iş için bu yayın.

  5. Call StartSnapshotGenerationAgentJob yöntem Aracısı başlatmak için iş için bu yayın anlık görüntü oluşturur,

  6. (İsteğe bağlı) Zaman değeri SnapshotAvailable olan true, anlık görüntü kullanılabilir aboneleri.

Anlık Görüntü Aracısı (zaman uyumlu) çalıştırarak ilk anlık görüntü için birleştirme yayın oluşturmak için

  1. Örneğini SnapshotGenerationAgent sınıfı ve küme aşağıdaki gerekli özellikler:

  2. Anahtarın değerini Merge için ReplicationType.

  3. Call GenerateSnapshot yöntem.

Örnek

Bu örnek anlık görüntü Aracısı bir işlem için ilk anlık görüntü artırmak için eş zamanlı olarak çalışan yayın.

           // Set the Publisher, publication database, and publication names.
            string publicationName = "AdvWorksProductTran";
            string publicationDbName = "AdventureWorks2008R2";
            string publisherName = publisherInstance;
            string distributorName = publisherInstance;

            SnapshotGenerationAgent agent;

            try
            {
                // Set the required properties for Snapshot Agent.
                agent = new SnapshotGenerationAgent();
                agent.Distributor = distributorName;
                agent.DistributorSecurityMode = SecurityMode.Integrated;
                agent.Publisher = publisherName;
                agent.PublisherSecurityMode = SecurityMode.Integrated;
                agent.Publication = publicationName;
                agent.PublisherDatabase = publicationDbName;
                agent.ReplicationType = ReplicationType.Transactional;

                // Start the agent synchronously.
                agent.GenerateSnapshot();

            }
            catch (Exception ex)
            {
                // Implement custom application error handling here.
                throw new ApplicationException(String.Format(
                    "A snapshot could not be generated for the {0} publication."
                    , publicationName), ex);
            }
' Set the Publisher, publication database, and publication names.
Dim publicationName As String = "AdvWorksProductTran"
Dim publicationDbName As String = "AdventureWorks2008R2"
Dim publisherName As String = publisherInstance
Dim distributorName As String = publisherInstance

Dim agent As SnapshotGenerationAgent

Try
    ' Set the required properties for Snapshot Agent.
    agent = New SnapshotGenerationAgent()
    agent.Distributor = distributorName
    agent.DistributorSecurityMode = SecurityMode.Integrated
    agent.Publisher = publisherName
    agent.PublisherSecurityMode = SecurityMode.Integrated
    agent.Publication = publicationName
    agent.PublisherDatabase = publicationDbName
    agent.ReplicationType = ReplicationType.Transactional

    ' Start the agent synchronously.
    agent.GenerateSnapshot()

Catch ex As Exception
    ' Implement custom application error handling here.
    Throw New ApplicationException(String.Format( _
     "A snapshot could not be generated for the {0} publication." _
     , publicationName), ex)
End Try

Bu örnek zaman uyumsuz bir iş için ilk anlık görüntü artırmak için aracısı işini başlatır yayın.

          // Set the Publisher, publication database, and publication names.
            string publicationName = "AdvWorksProductTran";
            string publicationDbName = "AdventureWorks2008R2";
            string publisherName = publisherInstance;

            TransPublication publication;

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

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

                // Set the required properties for an existing publication.
                publication = new TransPublication();
                publication.ConnectionContext = conn;
                publication.Name = publicationName;
                publication.DatabaseName = publicationDbName;

                if (publication.LoadProperties())
                {
                    // Start the Snapshot Agent job for the publication.
                    publication.StartSnapshotGenerationAgentJob();
                }
                else
                {
                    throw new ApplicationException(String.Format(
                        "The {0} publication does not exist.", publicationName));
                }
            }
            catch (Exception ex)
            {
                // Implement custom application error handling here.
                throw new ApplicationException(String.Format(
                    "A snapshot could not be generated for the {0} publication."
                    , publicationName), ex);
            }
            finally
            {
                conn.Disconnect();
            }
' Set the Publisher, publication database, and publication names.
Dim publicationName As String = "AdvWorksProductTran"
Dim publicationDbName As String = "AdventureWorks2008R2"
Dim publisherName As String = publisherInstance

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()

    ' Set the required properties for an existing publication.
    publication = New TransPublication()
    publication.ConnectionContext = conn
    publication.Name = publicationName
    publication.DatabaseName = publicationDbName

    If publication.LoadProperties() Then
        ' Start the Snapshot Agent job for the publication.
        publication.StartSnapshotGenerationAgentJob()
    Else
        Throw New ApplicationException(String.Format( _
         "The {0} publication does not exist.", publicationName))
    End If
Catch ex As Exception
    ' Implement custom application error handling here.
    Throw New ApplicationException(String.Format( _
     "A snapshot could not be generated for the {0} publication." _
     , publicationName), ex)
Finally
    conn.Disconnect()
End Try