Condividi tramite


sp_changepublication_snapshot (Transact-SQL)

Si applica a: SQL Server Istanza gestita di SQL di Azure

Modifica le proprietà dell'agente snapshot per la pubblicazione specificata. Questa stored procedure viene eseguita nel database di pubblicazione del server di pubblicazione.

Importante

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 Configurare il motore di database di SQL Server per la crittografia delle connessioni.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

sp_changepublication_snapshot
    [ @publication = ] N'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 = ] N'snapshot_job_name' ]
    [ , [ @publisher_security_mode = ] publisher_security_mode ]
    [ , [ @publisher_login = ] N'publisher_login' ]
    [ , [ @publisher_password = ] N'publisher_password' ]
    [ , [ @job_login = ] N'job_login' ]
    [ , [ @job_password = ] N'job_password' ]
    [ , [ @publisher = ] N'publisher' ]
[ ; ]

Argomenti

[ @publication = ] N'publication'

Nome della pubblicazione. @publication è sysname, senza impostazione predefinita.

[ @frequency_type = ] frequency_type

Specifica la frequenza con cui pianificare l'agente. @frequency_type è int e può essere uno dei valori seguenti.

valore Descrizione
1 Singola occorrenza
2 Su richiesta
4 Ogni giorno
8 Settimanale
16 Mensile
32 Mensile relativa
64 Avvio automatico
128 Ricorrente
NULL (predefinito)

[ @frequency_interval = ] frequency_interval

Specifica i giorni in cui viene eseguito l'agente. @frequency_interval è int e può essere uno dei valori 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_subday = ] frequency_subday

Unità per @freq_subday_interval. @frequency_subday è int e può essere uno di questi valori.

valore Descrizione
1 Una sola volta
2 Secondo
4 Minute
8 Ore
NULL (predefinito)

[ @frequency_subday_interval = ] frequency_subday_interval

Intervallo per @frequency_subday. @frequency_subday_interval è int, con il valore predefinito NULL.

[ @frequency_relative_interval = ] frequency_relative_interval

Data di esecuzione del agente di snapshot. @frequency_relative_interval è int, con il valore predefinito NULL.

[ @frequency_recurrence_factor = ] frequency_recurrence_factor

Fattore di ricorrenza utilizzato da @frequency_type. @frequency_recurrence_factor è int, con un valore predefinito .NULL

[ @active_start_date = ] active_start_date

Data in cui il agente di snapshot viene pianificato per la prima volta, formattato come yyyyMMdd. @active_start_date è int, con un valore predefinito .NULL

[ @active_end_date = ] active_end_date

Data in cui il agente di snapshot smette di essere pianificato, formattato come yyyyMMdd. @active_end_date è int, con un valore predefinito .NULL

[ @active_start_time_of_day = ] active_start_time_of_day

Ora del giorno in cui il agente di snapshot viene pianificato per la prima volta, formattato come HHmmss. @active_start_time_of_day è int, con il valore predefinito NULL.

[ @active_end_time_of_day = ] active_end_time_of_day

Ora del giorno in cui il agente di snapshot smette di essere pianificato, formattato come HHmmss. @active_end_time_of_day è int, con il valore predefinito .NULL

[ @snapshot_job_name = ] N'snapshot_job_name'

Nome di un nome di processo agente di snapshot esistente se viene usato un processo esistente. @snapshot_job_name è nvarchar(100), con il valore predefinito NULL.

[ @publisher_security_mode = ] publisher_security_mode

Modalità di sicurezza utilizzata dall'agente durante la connessione al server di pubblicazione. @publisher_security_mode è int, con un valore predefinito .NULL È necessario specificare un valore per i server di 0 pubblicazione non SQL Server.

  • 0 specifica l'autenticazione di SQL Server
  • 1specifica autenticazione di Windows

Importante

Se possibile, usare l'autenticazione di Windows.

[ @publisher_login = ] N'publisher_login'

Account di accesso utilizzato per la connessione al server di pubblicazione. @publisher_login è sysname, con un valore predefinito .NULL

@publisher_login deve essere specificato quando @publisher_security_mode è 0. Se @publisher_login è NULL e @publisher_security_mode è 1, l'account di Windows specificato in @job_login viene usato per la connessione al server di pubblicazione.

[ @publisher_password = ] N'publisher_password'

Password utilizzata per la connessione al server di pubblicazione. @publisher_password è sysname, con un valore predefinito .NULL

Importante

Non usare una password vuota. Usare una password complessa. 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 = ] N'job_login'

Account di accesso per l'account di Windows con cui viene eseguito l'agente. @job_login è nvarchar(257), con 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. Non è possibile modificare questa impostazione per un server di pubblicazione non SQL Server.

[ @job_password = ] N'job_password'

Password per l'account di Windows con cui viene eseguito l'agente. @job_password è sysname, con il valore predefinito NULL. È necessario specificare questo parametro per la creazione di un nuovo processo per l'agente snapshot.

Importante

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 = ] N'publisher'

Specifica un server di pubblicazione non SQL Server. @publisher è sysname, con un valore predefinito .NULL

Nota

@publisher non deve essere usato durante la creazione di un agente di snapshot in un server di pubblicazione di SQL Server.

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Osservazioni:

sp_changepublication_snapshot viene usato nella replica snapshot, nella replica transazionale e nella replica di tipo merge.

Autorizzazioni

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