Condividi tramite


sp_add_log_shipping_secondary_database (Transact-SQL)

Si applica a: SQL Server

Imposta un database secondario per il log shipping.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

sp_add_log_shipping_secondary_database
    [ @secondary_database = ] 'secondary_database'
    , [ @primary_server = ] 'primary_server'
    , [ @primary_database = ] 'primary_database'
    [ , [ @restore_delay = ] 'restore_delay' ]
    [ , [ @restore_all = ] 'restore_all' ]
    [ , [ @restore_mode = ] 'restore_mode' ]
    [ , [ @disconnect_users = ] 'disconnect_users' ]
    [ , [ @block_size = ] 'block_size' ]
    [ , [ @buffer_count = ] 'buffer_count' ]
    [ , [ @max_transfer_size = ] 'max_transfer_size' ]
    [ , [ @restore_threshold = ] 'restore_threshold' ]
    [ , [ @threshold_alert = ] 'threshold_alert' ]
    [ , [ @threshold_alert_enabled = ] 'threshold_alert_enabled' ]
    [ , [ @history_retention_period = ] 'history_retention_period' ]
[ ; ]

Argomenti

[ @secondary_database = ] 'secondary_database'

Nome del database secondario. @secondary_database è sysname, senza impostazione predefinita.

[ @primary_server = ] 'primary_server'

Nome dell'istanza primaria del Motore di database di SQL Server nella configurazione di log shipping. @primary_server è sysname e non può essere NULL.

[ @primary_database = ] 'primary_database'

Nome del database nel server primario. @primary_database è sysname, senza impostazione predefinita.

[ @restore_delay = ] 'restore_delay'

Indica per quanti minuti il server secondario deve attendere prima di ripristinare un file di backup specifico. @restore_delay è int e non può essere NULL. Il valore predefinito è 0.

[ @restore_all = ] 'restore_all'

Se impostato su 1, il server secondario ripristina tutti i backup del log delle transazioni disponibili al momento dell'esecuzione del processo di ripristino. In caso contrario, l'operazione viene arrestata dopo il ripristino di un file. @restore_all è bit e non può essere NULL.

[ @restore_mode = ] 'restore_mode'

Modalità di ripristino per il database secondario.

  • 0: ripristino del log con NORECOVERY
  • 1: ripristino del log con STANDBY

@restore_mode è bit e non può essere NULL.

[ @disconnect_users = ] 'disconnect_users'

Se impostato su 1, gli utenti vengono disconnessi dal database secondario quando viene eseguita un'operazione di ripristino. Il valore predefinito è 0. @disconnect_users è bit e non può essere NULL.

[ @block_size = ] 'block_size'

Dimensioni, in byte, usate come dimensioni del blocco per il dispositivo di backup. @block_size è int con il valore predefinito -1.

[ @buffer_count = ] 'buffer_count'

Numero totale di buffer utilizzati dall'operazione di backup o di ripristino. @buffer_count è int con il valore predefinito -1.

[ @max_transfer_size = ] 'max_transfer_size'

Dimensioni, in byte, della richiesta di input o output massima rilasciata da SQL Server al dispositivo di backup. @max_transfersize è int e può essere NULL.

[ @restore_threshold = ] 'restore_threshold'

Numero di minuti che può trascorrere tra operazioni di ripristino prima che venga generato un avviso. @restore_threshold è int e non può essere NULL.

[ @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 @restore_threshold . Un valore ( 1 impostazione predefinita) indica che viene generato l'avviso. @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.

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Set di risultati

Nessuno.

Osservazioni:

sp_add_log_shipping_secondary_database deve essere eseguito dal master database nel server secondario. Questa stored procedure esegue le operazioni seguenti:

  1. sp_add_log_shipping_secondary_primary deve essere chiamato prima di questa stored procedure per inizializzare le informazioni sul database di log shipping primario nel server secondario.

  2. Aggiunge una voce per il database secondario in log_shipping_secondary_databases utilizzando gli argomenti forniti.

  3. Aggiunge un record di monitoraggio locale in log_shipping_monitor_secondary nel server secondario utilizzando argomenti forniti.

  4. Se il server di monitoraggio è diverso dal server secondario, sp_add_log_shipping_secondary_database aggiunge un record di monitoraggio nel log_shipping_monitor_secondary server di monitoraggio utilizzando gli argomenti forniti.

Autorizzazioni

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

Esempi

In questo esempio viene illustrato l'utilizzo della sp_add_log_shipping_secondary_database stored procedure per aggiungere il database LogShipAdventureWorks come database secondario in una configurazione di log shipping con il database AdventureWorks2022 primario che risiede nel server TRIBECAprimario .

EXEC master.dbo.sp_add_log_shipping_secondary_database
    @secondary_database = N'LogShipAdventureWorks',
    @primary_server = N'TRIBECA',
    @primary_database = N'AdventureWorks2022',
    @restore_delay = 0,
    @restore_mode = 1,
    @disconnect_users = 0,
    @restore_threshold = 45,
    @threshold_alert_enabled = 0,
    @history_retention_period = 1440;
GO