sp_addpublication_snapshot (Transact-SQL)

Data aggiornamento: 12 dicembre 2006

Crea l'agente snapshot per la pubblicazione specificata. Questa stored procedure viene eseguita nel database di pubblicazione del server di pubblicazione.

ms174958.security(it-it,SQL.90).gifNota sulla protezione:
 Quando si configura un server di distribuzione remoto per un server di pubblicazione, 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 Crittografia delle connessioni a SQL Server.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

sp_addpublication_snapshot [ @publication= ] 'publication'
    [ , [ @frequency_type= ] frequency_type ]
    [ , [ @frequency_interval= ] frequency_interval ]
    [ , [ @frequency_subday= ] frequency_subday ]
    [ , [ @frequency_subday_interval= ] frequency_subday_interval ]
    [ , [ @frequency_relative_interval= ] frequency_relative_interval ]
    [ , [ @frequency_recurrence_factor= ] frequency_recurrence_factor ]
    [ , [ @active_start_date= ] active_start_date ]
    [ , [ @active_end_date= ] active_end_date ]
    [ , [ @active_start_time_of_day= ] active_start_time_of_day ]
    [ , [ @active_end_time_of_day= ] active_end_time_of_day ]
    [ , [ @snapshot_job_name = ] 'snapshot_agent_name' ]
    [ , [ @publisher_security_mode = ] publisher_security_mode ]
    [ , [ @publisher_login = ] 'publisher_login' ]
    [ , [ @publisher_password = ] 'publisher_password' ] 
    [ , [ @job_login = ] 'job_login' ]
    [ , [ @job_password = ] 'job_password' ]
    [ , [ @publisher = ] 'publisher' ]

Argomenti

  • [ @publication=] 'publication'
    Nome della pubblicazione. publication è di tipo sysname e non prevede alcun valore predefinito.
  • [ @frequency_type=] frequency_type
    Frequenza di esecuzione dell'agente snapshot. frequency_type è di tipo int. I possibili valori sono i seguenti.

    Valore Descrizione

    1

    Singola occorrenza.

    4 (predefinito)

    Giornaliera.

    8

    Settimanale.

    16

    Mensile.

    32

    Mensile relativa, in base all'intervallo di frequenza.

    64

    All'avvio di SQL Server Agent.

    128

    Quando il computer è inattivo

  • [ @frequency_interval=] frequency_interval
    Valore da applicare al set di frequenza da frequency_type. frequency_interval è int. I valori possibili sono i seguenti.

    Valore di frequency_type Effetto su frequency_interval

    1

    frequency_interval non viene utilizzato.

    4 (predefinito)

    Il processo viene eseguito ogni frequency_interval giorni. Il valore predefinito corrisponde alla frequenza giornaliera.

    8

    frequency_interval corrisponde a uno o più dei valori seguenti, combinati tramite l'operatore logico | (OR bit per bit) (Transact-SQL):

    1 = domenica

    2 = lunedì

    4 = martedì

    8 = mercoledì

    16 = giovedì

    32 = venerdì

    64 = sabato

    16

    Il processo viene eseguito nel giorno del mese specificato in frequency_interval.

    32

    frequency_interval può essere uno dei valori seguenti:

    1 = domenica

    2 = lunedì

    3 = martedì

    4 = mercoledì

    5 = giovedì

    6 = venerdì

    7 = sabato

    8 = giorno

    9 = giorno feriale

    10 = giorno festivo

    64

    frequency_interval non viene utilizzato.

    128

    frequency_interval non viene utilizzato.

  • [ @frequency_subday=] frequency_subday
    Unità di freq_subday_interval. frequency_subday è di tipo int. I possibili valori sono i seguenti.

    Valore Descrizione

    1

    Una volta

    2

    Secondo

    4 (predefinito)

    Minuto

    8

    Ora

  • [ @frequency_subday_interval=] frequency_subday_interval
    Intervallo per frequency_subday. frequency_subday_interval è di tipo int e il valore predefinito è 5, che corrisponde a ogni 5 minuti.
  • [ @frequency_relative_interval=] frequency_relative_interval
    Data di esecuzione dell'agente snapshot. frequency_relative_interval è di tipo int e il valore predefinito è 1.
  • [ @frequency_recurrence_factor=] frequency_recurrence_factor
    Fattore di ricorrenza utilizzato da frequency_type. frequency_recurrence_factor è di tipo di int e il valore predefinito è 0.
  • [ @active_start_date=] active_start_date
    Data della prima esecuzione pianificata dell'agente snapshot, nel formato AAAAMMGG. active_start_date è di tipo int e il valore predefinito è 0.
  • [ @active_end_date=] active_end_date
    Data dell'ultima esecuzione pianificata dell'agente snapshot, nel formato AAAAMMGG. active_end_date è di tipo int e il valore predefinito è 99991231, che corrisponde al 31 dicembre 9999.
  • [ @active_start_time_of_day=] active_start_time_of_day
    Ora del giorno della prima esecuzione pianificata dell'agente snapshot, nel formato HHMMSS. active_start_time_of_day è di tipo int e il valore predefinito è 0.
  • [ @active_end_time_of_day=] active_end_time_of_day
    Ora del giorno dell'ultima esecuzione pianificata dell'agente snapshot, nel formato HHMMSS. active_end_time_of_day è di tipo int e il valore predefinito è 235959, che corrisponde alle 23.59.59 nel formato 24 ore.
  • [ @snapshot_job_name = ] 'snapshot_agent_name'
    Nome di un processo esistente, se utilizzato, per l'agente snapshot. snapshot_agent_name è di tipo nvarchar(100) e il valore predefinito è NULL. Questo parametro è per uso interno e non deve essere specificato per la creazione di una nuova pubblicazione. Se si specifica snapshot_agent_name, il valore di job_login e job_password deve essere NULL.
  • [ @publisher_security_mode= ] publisher_security_mode
    Modalità di protezione utilizzata dall'agente per la connessione al server di pubblicazione. publisher_security_mode è di tipo smallint e il valore predefinito è 1. 0 specifica l'autenticazione di SQL Server e 1 l'autenticazione di Windows. È necessario specificare il valore 0 per i server di pubblicazione non SQL Server.
  • [ @publisher_login= ] 'publisher_login'
    Account di accesso utilizzato per la connessione al server di pubblicazione. publisher_login è di tipo sysname e il valore predefinito è NULL. È necessario specificare publisher_login se publisher_security_mode è 0. Se publisher_login è NULL e il valore di publisher_security_mode è 1, per la connessione al server di pubblicazione verrà utilizzato l'account di Windows specificato in job_login.
  • [ @publisher_password= ] 'publisher_password'
    Password utilizzata per la connessione al server di pubblicazione. publisher_password è di tipo sysname e il valore predefinito è NULL.

    ms174958.security(it-it,SQL.90).gifNota sulla protezione:
    Non archiviare informazioni di autenticazione in file script. È consigliabile che i nomi e le password degli account di accesso vengano specificati in fase di esecuzione.
  • [ @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. È necessario specificare questo parametro per la creazione di un nuovo processo per l'agente snapshot.
  • [ @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. È necessario specificare questo parametro per la creazione di un nuovo processo per l'agente snapshot.

    ms174958.security(it-it,SQL.90).gifNota sulla protezione:
    Non archiviare informazioni di autenticazione in file script. È consigliabile che i nomi e le password degli account di accesso vengano specificati in fase di esecuzione.
  • [ @publisher= ] 'publisher'
    Specifica un server di pubblicazione non SQL Server. publisher è di tipo sysname e il valore predefinito è NULL.

    [!NOTA] Non utilizzare publisher per la creazione di un agente snapshot in un server di pubblicazione SQL Server.

Osservazioni

La stored procedure sp_addpublication_snapshot viene utilizzata per la replica snapshot, transazionale e di tipo merge.

Autorizzazioni

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

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Esempio

-- To avoid storing the login and password in the script file, the values 
-- are passed into SQLCMD as scripting variables. 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 @publicationDB AS sysname;
DECLARE @publication AS sysname;
DECLARE @login AS sysname;
DECLARE @password AS sysname;
SET @publicationDB = N'AdventureWorks'; 
SET @publication = N'AdvWorksProductTran'; 
-- Windows account used to run the Log Reader and Snapshot Agents.
SET @login = $(Login); 
-- This should be passed at runtime.
SET @password = $(Password); 

-- Enable transactional or snapshot replication on the publication database.
EXEC sp_replicationdboption 
    @dbname=@publicationDB, 
    @optname=N'publish',
    @value = N'true';

-- Execute sp_addlogreader_agent to create the agent job. 
EXEC sp_addlogreader_agent 
    @job_login = @login, 
    @job_password = @password,
    -- Explicitly specify the use of Windows Integrated Authentication (default) 
    -- when connecting to the Publisher.
    @publisher_security_mode = 1;

-- Create a new transactional publication with the required properties. 
EXEC sp_addpublication 
    @publication = @publication, 
    @status = N'active',
    @allow_push = N'true',
    @allow_pull = N'true',
    @independent_agent = N'true';

-- Create a new snapshot job for the publication, using a default schedule.
EXEC sp_addpublication_snapshot 
    @publication = @publication, 
    @job_login = @login, 
    @job_password = @password,
    -- Explicitly specify the use of Windows Integrated Authentication (default) 
    -- when connecting to the Publisher.
    @publisher_security_mode = 1;
GO

Vedere anche

Riferimento

sp_addpublication (Transact-SQL)
sp_changepublication_snapshot (Transact-SQL)
sp_startpublication_snapshot (Transact-SQL)
Stored procedure per la replica (Transact-SQL)

Altre risorse

How to: Create a Publication (Replication Transact-SQL Programming)
Creazione e applicazione dello snapshot

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

12 dicembre 2006

Contenuto aggiornato:
  • Aggiornamento di informazioni sui parametri @frequency_type e @frequency_interval.