Condividi tramite


sp_addmergepushsubscription_agent (Transact-SQL)

Aggiunge un nuovo processo dell'agente utilizzato per la pianificazione della sincronizzazione di una sottoscrizione push in una replica di tipo merge. Questa stored procedure viene eseguita nel database di pubblicazione del server di pubblicazione.

Nota sulla sicurezzaNota sulla sicurezza

Quando si configura un server di pubblicazione con un server di distribuzione remoto, i valori specificati per tutti i parametri, inclusi job_login e job_password, vengono inviati al server di distribuzione come testo normale. È consigliabile crittografare la connessione tra il server di pubblicazione e il server di distribuzione remoto prima di eseguire questa stored procedure. Per ulteriori informazioni, vedere Abilitazione di connessioni crittografate al Motore di database (Gestione configurazione SQL Server).

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

sp_addmergepushsubscription_agent [ @publication =] 'publication' 
    [ , [ @subscriber = ] 'subscriber' ] 
    [ , [ @subscriber_db = ] 'subscriber_db' ] 
    [ , [ @subscriber_security_mode = ] subscriber_security_mode ] 
    [ , [ @subscriber_login = ] 'subscriber_login' ] 
    [ , [ @subscriber_password = ] 'subscriber_password' ] 
    [ , [ @publisher_security_mode = ] publisher_security_mode ] 
    [ , [ @publisher_login = ] 'publisher_login' ] 
    [ , [ @publisher_password = ] 'publisher_password' ] 
    [ , [ @job_login = ] 'job_login' ] 
    [ , [ @job_password = ] 'job_password' ] 
    [ , [ @job_name = ] 'job_name' ] 
    [ , [ @frequency_type = ] frequency_type ] 
    [ , [ @frequency_interval = ] frequency_interval ] 
    [ , [ @frequency_relative_interval = ] frequency_relative_interval ] 
    [ , [ @frequency_recurrence_factor = ] frequency_recurrence_factor ] 
    [ , [ @frequency_subday = ] frequency_subday ] 
    [ , [ @frequency_subday_interval = ] frequency_subday_interval ] 
    [ , [ @active_start_time_of_day = ] active_start_time_of_day ] 
    [ , [ @active_end_time_of_day = ] active_end_time_of_day ] 
    [ , [ @active_start_date = ] active_start_date ] 
    [ , [ @active_end_date = ] active_end_date ] 
    [ , [ @enabled_for_syncmgr = ] 'enabled_for_syncmgr' ] 

Argomenti

  • [ @publication = ] 'publication'
    Nome della pubblicazione. publication è di tipo sysname e non prevede alcun valore predefinito.

  • [ @subscriber = ] 'subscriber'
    Nome del Sottoscrittore. subscriber è di tipo sysname e il valore predefinito è NULL.

  • [ @subscriber_db = ] 'subscriber_db'
    Nome del database di sottoscrizione. subscriber_db è di tipo sysname e il valore predefinito è NULL.

  • [ @subscriber_security_mode = ] subscriber_security_mode
    Modalità di sicurezza da utilizzare quando si effettua la connessione a un Sottoscrittore per la sincronizzazione. subscriber_security_mode è di tipo int e il valore predefinito è 1. Se è 0, viene utilizzata l'autenticazione di SQL Server. Se è 1, viene utilizzata l'autenticazione di Windows.

  • [ @subscriber_login = ] 'subscriber_login'
    Account di accesso da utilizzare quando ci si connette a un Sottoscrittore per la sincronizzazione. subscriber_login è necessario se subscriber_security_mode è impostato su 0. subscriber_login è di tipo sysname e il valore predefinito è NULL.

  • [ @subscriber_password = ] 'subscriber_password'
    Password del Sottoscrittore per l'autenticazione di SQL Server. subscriber_password è obbligatorio subscriber_security_mode è impostato su 0. subscriber_password è di tipo sysname e il valore predefinito è NULL. Le password del Sottoscrittore vengono crittografate automaticamente.

    Nota sulla sicurezzaNota sulla sicurezza

    Se possibile, richiedere agli utenti di immettere le credenziali di sicurezza in fase di esecuzione. Se è necessario archiviare le credenziali in un file script, è fondamentale proteggere il file per evitare accessi non autorizzati.

  • [ @publisher_security_mode = ] publisher_security_mode
    Modalità di sicurezza da utilizzare quando si effettua la connessione a un server di pubblicazione per la sincronizzazione. publisher_security_mode è di tipo int e il valore predefinito è 1. Se è 0, viene utilizzata l'autenticazione di SQL Server. Se è 1 viene utilizzata l'autenticazione di Windows.

  • [ @publisher_login = ] 'publisher_login'
    Account di accesso da utilizzare per la connessione a un server di pubblicazione in fase di sincronizzazione. publisher_login è di tipo sysname e il valore predefinito è NULL.

  • [ @publisher_password = ] 'publisher_password'
    Password utilizzata per la connessione al server di pubblicazione. publisher_password è di tipo sysname e il valore predefinito è NULL.

    Nota sulla sicurezzaNota sulla sicurezza

    Se possibile, richiedere agli utenti di immettere le credenziali di sicurezza in fase di esecuzione. Se è necessario archiviare le credenziali in un file script, è fondamentale proteggere il file per evitare accessi non autorizzati.

  • [ @job_login = ] 'job_login'
    Account di accesso per l'account di Windows utilizzato per l'esecuzione dell'agente. job_login è di tipo nvarchar(257) e il valore predefinito è NULL. Questo account di Windows viene sempre utilizzato per le connessioni dell'agente al server di distribuzione e per le connessioni al Sottoscrittore e al server di pubblicazione in caso di utilizzo dell'autenticazione integrata di Windows.

  • [ @job_password = ] 'job_password'
    Password dell'account di Windows utilizzato per l'esecuzione dell'agente. job_password è di tipo sysname e non prevede alcun valore predefinito.

    Nota sulla sicurezzaNota sulla sicurezza

    Se possibile, richiedere agli utenti di immettere le credenziali di sicurezza in fase di esecuzione. Se è necessario archiviare le credenziali in un file script, è fondamentale proteggere il file per evitare accessi non autorizzati.

  • [ @job_name = ] 'job_name'
    Nome di un processo esistente dell'agente. job_name è di tipo sysname e il valore predefinito è NULL. Questo parametro viene specificato solo quando la sottoscrizione viene sincronizzata utilizzando un processo esistente anziché un nuovo processo (impostazione predefinita). I membri del ruolo predefinito del server sysadmin devono specificare job_login e job_password se è stato specificato job_name.

  • [ @frequency_type = ] frequency_type
    Frequenza per l'esecuzione pianificata dell'agente di merge. frequency_type è di tipo int. I valori possibili sono i seguenti.

    Valore

    Descrizione

    1

    Una volta

    2

    Su richiesta

    4

    Giornaliera

    8

    Settimanale

    16

    Mensile

    32

    Mensile relativa

    64

    Avvio automatico

    128

    Periodica

    NULL (predefinito)

     

    [!NOTA]

    Se si specifica il valore 64, l'agente di merge verrà eseguito in modalità continua, come se per l'agente fosse impostato il parametro -Continuous. Per ulteriori informazioni, vedere Agente merge repliche.

  • [ @frequency_interval = ] frequency_interval
    Giorni in cui viene eseguito l'agente di merge. frequency_interval è di tipo int. I valori possibili sono i seguenti.

    Valore

    Descrizione

    1

    Domenica

    2

    Lunedì

    3

    Martedì

    4

    Mercoledì

    5

    Giovedì

    6

    Venerdì

    7

    Sabato

    8

    Giorno

    9

    Giorni feriali

    10

    Giorni festivi

    NULL (predefinito)

     

  • [ @frequency_relative_interval = ] frequency_relative_interval
    Data dell'agente di merge. Questo parametro viene utilizzato quando frequency_type è impostato su 32 (mensile relativa). frequency_relative_interval è di tipo int. I valori possibili sono i seguenti.

    Valore

    Descrizione

    1

    Primo

    2

    Secondo

    4

    Terzo

    8

    Quarto

    16

    Ultimo

    NULL (predefinito)

     

  • [ @frequency_recurrence_factor = ] frequency_recurrence_factor
    Fattore di occorrenza utilizzato da frequency_type. frequency_recurrence_factor è di tipo int e il valore predefinito è NULL.

  • [ @frequency_subday = ] frequency_subday
    Frequenza di ripianificazione durante il periodo definito. frequency_subday è di tipo int. I valori possibili sono i seguenti.

    Valore

    Descrizione

    1

    Una volta sola

    2

    Secondo

    4

    Minuto

    8

    Ora

    NULL (predefinito)

     

  • [ @frequency_subday_interval = ] frequency_subday_interval
    Intervallo per frequency_subday. frequency_subday_interval è di tipo int e il valore predefinito è NULL.

  • [ @active_start_time_of_day = ] active_start_time_of_day
    Ora del giorno della prima esecuzione pianificata dell'agente di merge, nel formato HHMMSS. active_start_time_of_day è di tipo int e il valore predefinito è NULL.

  • [ @active_end_time_of_day = ] active_end_time_of_day
    Ora del giorno dell'ultima esecuzione pianificata dell'agente di merge, nel formato HHMMSS. active_end_time_of_day è di tipo int e il valore predefinito è NULL.

  • [ @active_start_date = ] active_start_date
    Data della prima esecuzione pianificata dell'agente di merge, nel formato AAAAMMGG. active_start_date è di tipo int e il valore predefinito è NULL.

  • [ @active_end_date = ] active_end_date
    Data dell'ultima esecuzione pianificata dell'agente di merge, nel formato AAAAMMGG. active_end_date è di tipo int e il valore predefinito è NULL.

  • [ @enabled_for_syncmgr = ] 'enabled_for_syncmgr'
    Specifica se la sottoscrizione può essere sincronizzata tramite Gestione sincronizzazione Microsoft Windows. enabled_for_syncmgr è di tipo nvarchar(5) e il valore predefinito è FALSE. Se è false, la sottoscrizione non viene registrata in Gestione sincronizzazione. Se è true, la sottoscrizione viene registrata in Gestione sincronizzazione e può essere sincronizzata senza avviare SQL Server Management Studio.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Osservazioni

La stored procedure sp_addmergepushsubscription_agent viene utilizzata per la replica di tipo merge e utilizza funzionalità simili a quelle di sp_addpushsubscription_agent.

Esempio

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

DECLARE @publication AS sysname;
DECLARE @subscriber AS sysname;
DECLARE @subscriptionDB AS sysname;
DECLARE @hostname AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @subscriber = $(SubServer);
SET @subscriptionDB = N'AdventureWorksReplica'; 
SET @hostname = N'adventure-works\david8'

-- Add a push subscription to a merge publication.
USE [AdventureWorks2012];
EXEC sp_addmergesubscription 
  @publication = @publication, 
  @subscriber = @subscriber, 
  @subscriber_db = @subscriptionDB, 
  @subscription_type = N'push',
  @hostname = @hostname;

--Add an agent job to synchronize the push subscription.
EXEC sp_addmergepushsubscription_agent 
  @publication = @publication, 
  @subscriber = @subscriber, 
  @subscriber_db = @subscriptionDB, 
  @job_login = $(Login), 
  @job_password = $(Password);
GO

Autorizzazioni

Solo i membri del ruolo predefinito del server sysadmin o del ruolo predefinito del database db_owner possono eseguire sp_addmergepushsubscription_agent.

Vedere anche

Riferimento

sp_addmergesubscription (Transact-SQL)

sp_changemergesubscription (Transact-SQL)

sp_dropmergesubscription (Transact-SQL)

sp_helpmergesubscription (Transact-SQL)

Concetti

Creazione di una sottoscrizione push

Sottoscrizione delle pubblicazioni