Partilhar via


sp_adddistributor (Transact-SQL)

Cria uma entrada na tabela sys.sysservers (se não houver uma), marca a entrada de servidor como um Distribuidor e armazena informações de propriedade. Esse procedimento armazenado é executado no Distribuidor, no banco de dados mestre, para registrar e marcar o servidor como Distribuidor. No caso de um Distribuidor remoto, é também executado no Publicador do banco de dados mestre para registrar o distribuidor remoto.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

sp_adddistributor [ @distributor= ] 'distributor' 
    [ , [ @heartbeat_interval= ] heartbeat_interval ] 
    [ , [ @password= ] 'password' ] 
    [ , [ @from_scripting= ] from_scripting ]

Argumentos

  • [ @distributor=] 'distributor'
    É o nome do servidor de distribuição. distributor é sysname, sem padrão. Esse parâmetro só é usado na configuração de um Distribuidor remoto. Adiciona entradas para as propriedades do Distribuidor na tabela msdb..MSdistributor.

  • [ @heartbeat_interval=] heartbeat_interval
    É o número máximo de minutos que um agente pode prosseguir sem registrar uma mensagem de progresso. heartbeat_interval é int, com um padrão de 10 minutos. Um trabalho do SQL Server Agent é criado e executado nesse intervalo para verificar os status dos agentes de replicação em execução.

  • [ @password=] 'password']
    É a senha de logon do distributor_admin. password é sysname, com um padrão NULL. Se for NULL ou uma cadeia de caracteres vazia, a senha será reajustada a um valor aleatório. A senha deve estar configurada quando o primeiro servidor remoto é adicionado. O logon distributor_admin e password são armazenados para entrada de servidor vinculado usado para uma conexão RPC de distributor, incluindo conexões locais. Se distributor for local, a senha para distributor_admin será definida como um valor novo. Para Publicadores com um Distribuidor remoto, o mesmo valor de password deve ser especificado ao executar sp_adddistributor no Publicador e no Distribuidor. sp_changedistributor_password pode ser usado para alterar a senha do Distribuidor.

    Observação sobre segurançaObservação sobre segurança

    Quando possível, solicite que os usuários insiram as credenciais de segurança em tempo de execução. Se for necessário armazenar credenciais em um arquivo de script, você deverá proteger o arquivo para evitar o acesso não autorizado.

  • [ @from_scripting= ] from_scripting
    Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Comentários

sp_adddistributor é usado em replicação de instantâneo, transacional e de mesclagem.

Exemplo

-- 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'AdventureWorks'; 

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

Permissões

Somente membros da função de servidor fixa sysadmin podem executar sp_adddistributor.