Aracılığıyla paylaş


Nasıl yapılır: Başlangıç anlık görüntüsü (çoğaltma Transact-SQL programlama) oluştur

İlk anlık görüntüleri oluşturma ve anlık görüntü Aracısı iş çalıştırmak veya bir toplu iş dosyasından Anlık Görüntü Aracısı yürütülebilir dosyayı çalıştırma programlı olarak oluşturulabilir.Sonra bir ilk anlık görüntü olan üretilen, transfer ve abonelik eşitlendiğinde Abone tarafında uygulanan.Snapshot Agent komut istemi isteminde veya bir toplu iş dosyası çalıştırırsanız, varolan anlık görüntü geçersiz olur her Aracısı yeniden çalıştırmanız gerekir.

İ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: Bir birleştirme yayını ile parametreli süzgeçleri (çoğaltma Transact-SQL 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.Bir komut dosyasında kimlik bilgileri bilgilerini depolamak, yetkisiz erişimi önlemek için dosyayı güvenli gerekir.

Oluşturmak ve bir anlık görüntü Aracısı çalıştırmak için iş ilk anlık görüntüsü oluşturmak için

  1. Anlık görüntü, işlem, oluşturmak veya birleştirme yayın.Daha fazla bilgi için bkz: Nasıl yapılır: Bir yayını (çoğaltma Transact-SQL programlama) oluştur.

  2. Yürütme sp_addpublication_snapshot (Transact-sql).Belirtmek @ yayın ve aşağıdaki parametreleri:

    • @ Belirten job_login, altında Anlık Görüntü Aracısı çalıştığı dağıtıcıda Windows kimlik doğrulaması kimlik bilgileri.

    • @ Job_password, sağlanan Windows kimlik bilgileri için parolayı olduğu.

    • (İsteğe bağlı) Değeri, 0 için @ publisher_security_mode Aracısı sql Server kimlik doğrulaması için yayımcı bağlanırken kullanacağı ise.Bu durum, sql Server kimlik doğrulaması oturum açma bilgilerini belirtmeniz gerekir @ publisher_login ve publisher_password @.

    • (İsteğe bağlı) Anlık Görüntü Aracısı iş için bir eşitleme zamanlaması.Daha fazla bilgi için bkz: Nasıl yapılır: Eşitleme çizelgelerini (çoğaltma Transact-SQL programlama) belirtin.

    Güvenlik notuGüvenlik Notu

    Yayımcı ile yapılandırırken bir uzak Dağıtımcı, sağlanan da dahil olmak üzere tüm parametreler için değerler job_login ve job_password, için dağıtıcı düz metin olarak gönderilirBu saklı yordam yürütmeden önce Yayımcı ve kendi uzak dağıtımcı arasında bağlantı şifrelemek.Daha fazla bilgi için bkz: SQL Server bağlantıları şifreleme.

  3. Makale ekleme yayın.Daha fazla bilgi için bkz: Nasıl yapılır: Bir makalesi (çoğaltma Transact-SQL programlama) tanımla.

  4. Üzerinde yayımcı adresindeki yayın veritabanı, yürütmek sp_startpublication_snapshot (Transact-sql), değerini belirtme @ yayın adım 1.

Anlık Görüntü Aracısı oluşturmak için çalıştırmak içinilk anlık görüntü

  1. Anlık görüntü, işlem, oluşturmak veya birleştirme yayın.Daha fazla bilgi için bkz: Nasıl yapılır: Bir yayını (çoğaltma Transact-SQL programlama) oluştur.

  2. Makale ekleme yayın.Daha fazla bilgi için bkz: Nasıl yapılır: Bir makalesi (çoğaltma Transact-SQL programlama) tanımla.

  3. komut istemi isteminden veya toplu iş dosyasını başlangıç Çoğaltma Anlık Görüntü Aracısı çalıştırarak anlık görüntü görüntü.exe, aşağıdaki komut istemi satırı değişkenleri belirtme:

    • -Yayın

    • -Yayımcı

    • -Dağıtıcı

    • PublisherDB-

    • -ReplicationType

    sql Server kimlik doğrulaması kullanıyorsanız, aynı zamanda aşağıdaki bağımsız değişkenler belirtmeniz gerekir:

    • -DistributorLogin

    • -DistributorPassword

    • -DistributorSecurityMode = 0

    • -PublisherLogin

    • -PublisherPassword

    • -PublisherSecurityMode = 0

Örnek

Bu örnek işlem bir yayın oluşturmak ve bir anlık görüntü Aracısı iş için yeni yayın eklemek gösterilmiştir (kullanarak sqlcmd değişkenleri komut dosyası kullanan kullanan kullanan dosyası).Bu örnek aynı zamanda başlar iş.

-- To avoid storing the login and password in the script file, the values 
-- are passed into SQLCMD as scripting variables. For information about 
-- how to use scripting variables on the command line and in SQL Server
-- Management Studio, see the "Executing Replication Scripts" section in
-- the topic "Programming Replication Using System Stored Procedures".

DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
DECLARE @login AS sysname;
DECLARE @password AS sysname;
SET @publicationDB = N'AdventureWorks2008R2'; --publication database
SET @publication = N'AdvWorksCustomerTran'; -- transactional publication name
SET @login = $(Login);
SET @password = $(Password);

USE [AdventureWorks2008R2]

-- Enable transactional and snapshot replication on the publication database.
EXEC sp_replicationdboption 
  @dbname = @publicationDB, 
  @optname = N'publish',
  @value = N'true';

-- Execute sp_addlogreader_agent to create the agent job. 
EXEC sp_addlogreader_agent 
  @job_login = @login, 
  @job_password = @password,
  -- Explicitly specify the security mode used when connecting to the Publisher.
  @publisher_security_mode = 1;

-- Create new transactional publication, using the defaults. 
USE [AdventureWorks2008R2]
EXEC sp_addpublication 
  @publication = @publication, 
  @description = N'transactional publication';

-- Create a new snapshot job for the publication, using the defaults.
EXEC sp_addpublication_snapshot 
  @publication = @publication,
  @job_login = @login,
  @job_password = @password;

-- Start the Snapshot Agent job.
EXEC sp_startpublication_snapshot @publication = @publication;
GO

Bu örnek, birleştirme yayını oluşturur ve bir anlık görüntü Aracısı ekler iş (kullanarak sqlcmd değişkenleri) yayın.Bu örnek ayrıca başlar iş.

-- To avoid storing the login and password in the script file, the value 
-- is passed into SQLCMD as a scripting variable. For information about 
-- how to use scripting variables on the command line and in SQL Server
-- Management Studio, see the "Executing Replication Scripts" section in
-- the topic "Programming Replication Using System Stored Procedures".

DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
DECLARE @login AS sysname;
DECLARE @password AS sysname;
SET @publicationDB = N'AdventureWorks2008R2'; 
SET @publication = N'AdvWorksSalesOrdersMerge'; 
SET @login = $(Login);
SET @password = $(Password);

-- Enable merge replication on the publication database.
USE master
EXEC sp_replicationdboption 
  @dbname = @publicationDB, 
  @optname=N'merge publish',
  @value = N'true';

-- Create new merge publication, using the defaults. 
USE [AdventureWorks2008R2]
EXEC sp_addmergepublication 
  @publication = @publication, 
  @description = N'Merge publication.';

-- Create a new snapshot job for the publication, using the defaults.
EXEC sp_addpublication_snapshot 
  @publication = @publication,
  @job_login = @login,
  @job_password = @password;

-- Start the Snapshot Agent job.
EXEC sp_startpublication_snapshot @publication = @publication;
GO

Anlık Görüntü Aracısı için birleştirme yayın anlık görüntü oluşturmak için aşağıdaki komut satırı değişkenlerini başlatın.

Not

Satır sonları, okumayı kolaylaştırmak için eklendi.Bir toplu iş dosyasında tek bir satırda komutları yapılması gerekir.

REM -- Declare variables
SET Publisher=%InstanceName%
SET PublicationDB=AdventureWorks2008R2 
SET Publication=AdvWorksSalesOrdersMerge 

REM --Start the Snapshot Agent to generate the snapshot for AdvWorksSalesOrdersMerge.
"C:\Program Files\Microsoft SQL Server\100\COM\SNAPSHOT.EXE" -Publication %Publication% 
-Publisher %Publisher% -Distributor %Publisher% -PublisherDB %PublicationDB% 
-ReplicationType 2 -OutputVerboseLevel 1 -DistributorSecurityMode 1