Nasıl yapılır: Yayımlama ve dağıtma (çoğaltma Transact-SQL programlama) yapılandırma

Çoğaltma yayımlama ve dağıtım programlı olarak çoğaltma depolanmış yordamları kullanarak yapılandırılabilir.

Yerel kullanarak yayımlamayı yapılandırmak içindağıtımcı

  1. Yürütme sp_get_distributor (Transact-sql) belirleme, server önceden yapılandırılmış olarak dağıtıcı.

    • Varsa değeri yüklü sonuç küme 0, yürütmek sp_adddistributor (Transact-sql) adresindeki dağıtıcı üzerinde asıl veritabanı.

    • Varsa değeri dağıtım db yüklü sonuç küme 0, yürütmek sp_adddistributiondb (Transact-sql) adresindeki dağıtıcı üzerinde asıl veritabanı.Dağıtım veritabanı için adını belirtmek @ veritabanı.En fazla işlem saklama dönemi için isteğe bağlı olarak belirtebileceğiniz @ max_distretention ve geçmiş saklama dönemi için @geçmiş_retention.Yeni bir veritabanı oluşturulursa, istenilen veritabanı özellik parametreleri belirtin.

  2. Yayımcı olan, dağıtıcıda yürütmek sp_adddistpublisher (Transact-sql), belirtme unc paylaşımının varsayılan olarak kullanılacak klasörü için anlık görüntü görüntüsünü @ working_directory.

  3. Yayımcı tarafında yürütmek sp_replicationdboption (Transact-sql).Belirtmek için yayımlanan veritabanı @ dbname, çoğaltma türünü @ SeçenekAdıve değeri, true için @ değeri.

Bir uzaktan kumandasını kullanarak yayımlamayı yapılandırmak içindağıtımcı

  1. Yürütme sp_get_distributor (Transact-sql) belirleme, server önceden yapılandırılmış olarak dağıtıcı.

    • Varsa değeri yüklü sonuç küme 0, yürütmek sp_adddistributor (Transact-sql) adresindeki dağıtıcı üzerinde asıl veritabanı.Güçlü bir parola belirtmek @ parola.Bu parola distributor_admin hesabı Dağıtımcı olarak bağlanırken yayımcı tarafından kullanılacak.

    • Varsa değeri dağıtım db yüklü sonuç küme 0, yürütmek sp_adddistributiondb (Transact-sql) adresindeki dağıtıcı üzerinde asıl veritabanı.Dağıtım veritabanı için adını belirtmek @ veritabanı.En fazla işlem saklama dönemi için isteğe bağlı olarak belirtebileceğiniz @ max_distretention ve geçmiş saklama dönemi için @geçmiş_retention.Yeni bir veritabanı oluşturulursa, istenilen veritabanı özellik parametreleri belirtin.

  2. Dağıtıcıda yürütmek sp_adddistpublisher (Transact-sql), belirtme unc paylaşımının varsayılan olarak kullanılacak klasörü için anlık görüntü görüntüsünü @ working_directory.If the Distributor will use SQL Server Authentication when connecting to the Publisher, you must also specify a value of 0 for @security_mode and the Microsoft SQL Server login information for @login and @password.

  3. asıl veritabanı üzerinde Yayımcı tarafında yürütmek sp_adddistributor (Transact-sql).İçin adım 1'de kullanılan güçlü bir parola belirtmek @ parola.Bu parola, yayımcı tarafından Dağıtımcı olarak bağlanırken kullanılacak.

  4. Yayımcı tarafında yürütmek sp_replicationdboption (Transact-sql).Belirtmek için yayımlanan veritabanı @ dbname, çoğaltma türünü @ SeçenekAdıve için true değeri @ değeri.

Örnek

Aşağıdaki örnekte, yayımlama ve dağıtım programlı olarak nasıl yapılandırılacağı gösterilmektedir.Bu örnekte, komut dosyası kullanan kullanan kullanan dosyası değişkenleri kullanarak bir yayımcı ve yerel bir dağıtımcı Yapılandırılmakta olan sunucunun adını sağlanır.

-- This script uses sqlcmd scripting variables. They are in the form
-- $(MyVariable). 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".

-- Install the Distributor and the distribution database.
DECLARE @distributor AS sysname;
DECLARE @distributionDB AS sysname;
DECLARE @publisher AS sysname;
DECLARE @directory AS nvarchar(500);
DECLARE @publicationDB AS sysname;
-- Specify the Distributor name.
SET @distributor = $(DistPubServer);
-- Specify the distribution database.
SET @distributionDB = N'distribution';
-- Specify the Publisher name.
SET @publisher = $(DistPubServer);
-- Specify the replication working directory.
SET @directory = N'\\' + $(DistPubServer) + '\repldata';
-- Specify the publication database.
SET @publicationDB = N'AdventureWorks2008R2'; 

-- Install the server MYDISTPUB as a Distributor using the defaults,
-- including autogenerating the distributor password.
USE master
EXEC sp_adddistributor @distributor = @distributor;

-- Create a new distribution database using the defaults, including
-- using Windows Authentication.
USE master
EXEC sp_adddistributiondb @database = @distributionDB, 
    @security_mode = 1;
GO

-- Create a Publisher and enable AdventureWorks2008R2 for replication.
-- Add MYDISTPUB as a publisher with MYDISTPUB as a local distributor
-- and use Windows Authentication.
DECLARE @distributionDB AS sysname;
DECLARE @publisher AS sysname;
-- Specify the distribution database.
SET @distributionDB = N'distribution';
-- Specify the Publisher name.
SET @publisher = $(DistPubServer);

USE [distribution]
EXEC sp_adddistpublisher @publisher=@publisher, 
    @distribution_db=@distributionDB, 
    @security_mode = 1;
GO