Condividi tramite


sp_add_log_shipping_primary_database (Transact-SQL)

Si applica a: SQL Server

Imposta il database primario per una configurazione di log shipping, inclusi il processo di backup, il record di monitoraggio locale e il record di monitoraggio remoto.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

sp_add_log_shipping_primary_database
    [ @database = ] 'database'
    , [ @backup_directory = ] N'backup_directory'
    , [ @backup_share = ] N'backup_share'
    , [ @backup_job_name = ] 'backup_job_name'
    [ , [ @backup_retention_period = ] backup_retention_period ]
    [ , [ @monitor_server = ] 'monitor_server' ]
    [ , [ @monitor_server_security_mode = ] monitor_server_security_mode ]
    [ , [ @monitor_server_login = ] 'monitor_server_login' ]
    [ , [ @monitor_server_password = ] 'monitor_server_password' ]
    [ , [ @backup_threshold = ] backup_threshold ]
    [ , [ @threshold_alert = ] threshold_alert ]
    [ , [ @threshold_alert_enabled = ] threshold_alert_enabled ]
    [ , [ @history_retention_period = ] history_retention_period ]
    [ , [ @backup_job_id = ] backup_job_id OUTPUT ]
    [ , [ @primary_id = ] primary_id OUTPUT ]
    [ , [ @backup_compression = ] backup_compression_option ]
[ ; ]

Argomenti

[ @database = ] 'database'

Nome del database primario per il log shipping. @database è sysname, senza impostazione predefinita e non può essere NULL.

[ @backup_directory = ] N'backup_directory'

Percorso della cartella di backup nel server primario. @backup_directory è nvarchar(500), senza impostazione predefinita e non può essere NULL.

[ @backup_share = ] N'backup_share'

Percorso di rete della directory di backup nel server primario. @backup_share è nvarchar(500), senza impostazione predefinita e non può essere NULL.

[ @backup_job_name = ] 'backup_job_name'

Nome del processo di SQL Server Agent nel server primario che copia il backup nella cartella di backup. @backup_job_name è sysname e non può essere NULL.

[ @backup_retention_period = ] backup_retention_period

Periodo di tempo, espresso in minuti, per conservare il file di backup del log nella directory di backup nel server primario. @backup_retention_period è int, senza impostazione predefinita e non può essere NULL.

[ @monitor_server = ] 'monitor_server'

Nome del server di monitoraggio. @monitor_server è sysname, senza impostazione predefinita e non può essere NULL.

[ @monitor_server_security_mode = ] monitor_server_security_mode

Modalità di sicurezza utilizzata per connettersi al server di monitoraggio.

  • 1: autenticazione di Windows
  • 0: autenticazione di SQL Server

@monitor_server_security_mode è bit, con un valore predefinito e 1non può essere NULL.

[ @monitor_server_login = ] 'monitor_server_login'

Nome utente dell'account utilizzato per accedere al server di monitoraggio.

[ @monitor_server_password = ] 'monitor_server_password'

Password dell'account utilizzato per accedere al server di monitoraggio.

[ @backup_threshold = ] backup_threshold

Periodo di tempo, espresso in minuti, dopo l'ultimo backup prima che venga generato un errore di @threshold_alert . @backup_threshold è int, con un valore predefinito di 60 minuti.

[ @threshold_alert = ] threshold_alert

Avviso da generare quando viene superata la soglia per il backup. @threshold_alert è int, con un valore predefinito pari a 14.420.

[ @threshold_alert_enabled = ] threshold_alert_enabled

Specifica se viene generato un avviso quando viene superato @backup_threshold . Il valore zero (0), il valore predefinito indica che l'avviso è disabilitato e non verrà generato. @threshold_alert_enabled è bit.

[ @history_retention_period = ] history_retention_period

Periodo di tempo in minuti in cui viene mantenuta la cronologia. @history_retention_period è int, con il valore predefinito NULL. Se non si specifica un valore, verrà utilizzato il valore 14420.

[ @backup_job_id = ] backup_job_id OUTPUT

ID processo di SQL Server Agent associato al processo di backup nel server primario. @backup_job_id è un parametro OUTPUT di tipo uniqueidentifier e non può essere NULL.

[ @primary_id = ] primary_id OUTPUT

ID del database primario nella configurazione per il log shipping. @primary_id è un parametro OUTPUT di tipo uniqueidentifier e non può essere NULL.

[ @backup_compression = ] backup_compression_option

Specifica se una configurazione per il log shipping utilizza la compressione dei backup.

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Set di risultati

Nessuno.

Osservazioni:

sp_add_log_shipping_primary_database deve essere eseguito dal master database nel server primario. Questa stored procedure esegue le funzioni seguenti:

  1. Genera un ID primario e aggiunge una voce per il database primario nella tabella log_shipping_primary_databases utilizzando gli argomenti forniti.

  2. Crea un processo di backup per il database primario disabilitato.

  3. Imposta l'ID processo di backup nella log_shipping_primary_databases voce sull'ID processo del processo di backup.

  4. Aggiunge un record di monitoraggio locale nella tabella log_shipping_monitor_primary nel server primario utilizzando argomenti forniti.

  5. Se il server di monitoraggio è diverso dal server primario, sp_add_log_shipping_primary_database aggiunge un record di monitoraggio nel log_shipping_monitor_primary server di monitoraggio utilizzando argomenti forniti.

Autorizzazioni

Solo i membri del ruolo predefinito del server sysadmin possono eseguire questa procedura.

Esempi

In questo esempio il database AdventureWorks2022 viene aggiunto come database primario in una configurazione per il log shipping.

DECLARE @LS_BackupJobId AS UNIQUEIDENTIFIER;
DECLARE @LS_PrimaryId AS UNIQUEIDENTIFIER;

EXEC master.dbo.sp_add_log_shipping_primary_database
    @database = N'AdventureWorks',
    @backup_directory = N'c:\lsbackup',
    @backup_share = N'\\tribeca\lsbackup',
    @backup_job_name = N'LSBackup_AdventureWorks',
    @backup_retention_period = 1440,
    @monitor_server = N'rockaway',
    @monitor_server_security_mode = 1,
    @backup_threshold = 60,
    @threshold_alert = 0,
    @threshold_alert_enabled = 0,
    @history_retention_period = 1440,
    @backup_job_id = @LS_BackupJobId OUTPUT,
    @primary_id = @LS_PrimaryId OUTPUT,
    @overwrite = 1,
    @backup_compression = 0;
GO