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 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
Bir bağlantı oluşturmak Yayımcı kullanarak ServerConnection WalkTree
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ı.
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.
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.
Call StartSnapshotGenerationAgentJob yöntem Aracısı başlatmak için iş için bu yayın anlık görüntü oluşturur,
(İ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)
Örneğini SnapshotGenerationAgent sınıfı ve küme aşağıdaki gerekli özellikler:
Publisher -Yayımcı adı
PublisherDatabase -adıyayın veritabanı
Publication -adıyayın
Distributor -Dağıtımcı adı
PublisherSecurityMode-değeri Integrated bağlanırken Yayımcı veya değeri Windows kimlik doğrulamasını kullanmak için Standard ve değerleri için PublisherLogin ve PublisherPassword kullanmak SQL Server bağlanırken kimlik doğrulamasını Yayımcı.Windows kimlik doğrulaması önerilir.
DistributorSecurityMode-değeri Integrated dağıtıcı veya değeri bağlanırken Windows kimlik doğrulamasını kullanmak için Standard ve DistributorLogin ve DistributorPassword kullanmak SQL Server bağlanırken kimlik doğrulamasını dağıtıcı.Windows kimlik doğrulaması önerilir.
Set a value of Transactional or Snapshot for ReplicationType.
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
Bir bağlantı oluşturmak Yayımcı kullanarak ServerConnection WalkTree
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ı.
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.
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.
Call StartSnapshotGenerationAgentJob yöntem Aracısı başlatmak için iş için bu yayın anlık görüntü oluşturur,
(İ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
Örneğini SnapshotGenerationAgent sınıfı ve küme aşağıdaki gerekli özellikler:
Publisher -Yayımcı adı
PublisherDatabase -adıyayın veritabanı
Publication -adıyayın
Distributor -Dağıtımcı adı
PublisherSecurityMode-değeri Integrated bağlanırken Yayımcı veya değeri Windows kimlik doğrulamasını kullanmak için Standard ve değerleri için PublisherLogin ve PublisherPassword kullanmak SQL Server bağlanırken kimlik doğrulamasını Yayımcı.Windows kimlik doğrulaması önerilir.
DistributorSecurityMode-değeri Integrated dağıtıcı veya değeri bağlanırken Windows kimlik doğrulamasını kullanmak için Standard ve DistributorLogin ve DistributorPassword kullanmak SQL Server bağlanırken kimlik doğrulamasını dağıtıcı.Windows kimlik doğrulaması önerilir.
Anahtarın değerini Merge için ReplicationType.
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