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