Jak Konfigurowanie publikacji i dystrybucji (Programowanie replikacji Transact-SQL)

Publikowanie replikacja i dystrybucji można konfigurować programowo za pomocą procedur przechowywanych replikacja.

Aby skonfigurować publikowanie przy użyciu lokalnego dystrybutor

  1. Wykonanie sp_get_distributor (języka Transact-SQL) do określenia, jeśli serwer jest już skonfigurowany jako dystrybutor.

    • Jeśli wartość zainstalowane w zestaw wyników jest 0, wykonać sp_adddistributor (języka Transact-SQL) u dystrybutora na głównej bazy danych.

    • Jeśli wartość dystrybucji db zainstalowanych w zestaw wyników jest 0, wykonać sp_adddistributiondb (języka Transact-SQL) u dystrybutora na głównej bazy danych.Określ nazwę baza danych dystrybucji dla @ bazy danych.Opcjonalnie można określić okres maksymalny transakcyjnych retencji dla @ max_distretention i okres przechowywania historia @ history_retention.Jeśli tworzony jest nowy bazy danych, należy określić parametry właściwość żądanej bazy danych.

  2. U dystrybutora, który jest także wydawcy, wykonać sp_adddistpublisher (języka Transact-SQL), określając udziału UNC, który będzie używany jako domyślny migawka folder @ working_directory.

  3. Wydawca, należy wykonać sp_replicationdboption (języka Transact-SQL).Określ bazę danych publikowana dla @ dbname, typ replikacja dla @ nazwa_opcjii wartości true dla wartość @.

Aby skonfigurować publikowanie przy użyciu zdalnego dystrybutor

  1. Wykonanie sp_get_distributor (języka Transact-SQL) do określenia, jeśli serwer jest już skonfigurowany jako dystrybutor.

    • Jeśli wartość zainstalowane w zestaw wyników jest 0, wykonać sp_adddistributor (języka Transact-SQL) u dystrybutora na głównej bazy danych.Określić silne hasło dla hasło @.Hasło do distributor_admin konto będzie używane przez Wydawca podczas łączenia się z dystrybutorem.

    • Jeśli wartość dystrybucji db zainstalowanych w zestaw wyników jest 0, wykonać sp_adddistributiondb (języka Transact-SQL) u dystrybutora na głównej bazy danych.Określ nazwę baza danych dystrybucji dla @ bazy danych.Opcjonalnie można określić okres maksymalny transakcyjnych retencji dla @ max_distretention i okres przechowywania historia @ history_retention.Jeśli tworzony jest nowy bazy danych, należy określić parametry właściwość żądanej bazy danych.

  2. U dystrybutora, wykonać sp_adddistpublisher (języka Transact-SQL), określając udziału UNC, który będzie używany jako domyślny migawka folder @ 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. Wydawca na baza danych master, wykonanie sp_adddistributor (języka Transact-SQL).Określić silne hasło używane w kroku 1 dla hasło @.To hasło będzie używane przez Wydawca podczas łączenia się z dystrybutorem.

  4. Wydawca, należy wykonać sp_replicationdboption (języka Transact-SQL).Określ bazę danych publikowana dla @ dbname, typ replikacja dla @ nazwa_opcjii wartość true dla wartość @.

Przykład

Poniższy przykład ilustruje sposób programowo skonfigurować publikacji i dystrybucji.W tym przykładzie nazwa serwera, który jest konfigurowany jako wydawca i lokalnego dystrybutor jest dostarczany na zmienne wykonywanie skryptów.

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