Condividi tramite


sp_add_log_shipping_secondary_primary (Transact-SQL)

Si applica a:SQL Server

Imposta le informazioni primarie, aggiunge collegamenti di monitoraggio locale e remoto e crea processi di copia e di ripristino nel server secondario per il database primario specificato.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

sp_add_log_shipping_secondary_primary
    [ @primary_server = ] 'primary_server'
    , [ @primary_database = ] 'primary_database'
    , [ @backup_source_directory = ] N'backup_source_directory'
    , [ @backup_destination_directory = ] N'backup_destination_directory'
    , [ @copy_job_name = ] 'copy_job_name'
    , [ @restore_job_name = ] 'restore_job_name'
    [ , [ @file_retention_period = ] 'file_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' ]
    [ , [ @copy_job_id = ] 'copy_job_id' OUTPUT ]
    [ , [ @restore_job_id = ] 'restore_job_id' OUTPUT ]
    [ , [ @secondary_id = ] 'secondary_id' OUTPUT ]
    [ , [ @secondary_connection_options = ] '<key_value_pairs>;[...]' ]
    [ , [ @monitor_connection_options = ] '<key_value_pairs>;[...]' ]
[ ; ]

Argomenti

[ @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.

[ @backup_source_directory = ] N'backup_source_directory'

Directory in cui vengono archiviati i file di backup del log delle transazioni dal server primario. @backup_source_directory è nvarchar(500) e non può essere NULL.

[ @backup_destination_directory = ] N'backup_destination_directory'

Directory nel server secondario in cui vengono copiati i file di backup. @backup_destination_directory è nvarchar(500) e non può essere NULL.

[ @copy_job_name = ] 'copy_job_name'

Nome da usare per il processo di SQL Server Agent creato per copiare i backup del log delle transazioni nel server secondario. copy_job_name è sysname e non può essere NULL.

[ @restore_job_name = ] 'restore_job_name'

Nome del processo di SQL Server Agent nel server secondario che ripristina i backup nel database secondario. restore_job_name è sysname e non può essere NULL.

[ @file_retention_period = ] 'file_retention_period'

Periodo di tempo, espresso in minuti, per cui un file di backup viene conservato nel server secondario nel percorso specificato dal @backup_destination_directory parametro prima di essere eliminato. @history_retention_period è int, con il valore predefinito NULL. Se non si specifica un valore, verrà utilizzato il valore 14420.

[ @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.

[ @copy_job_id = ] OUTPUT 'copy_job_id'

ID associato al processo di copia nel server secondario. @copy_job_id è uniqueidentifier e non può essere NULL.

[ @restore_job_id = ] OUTPUT 'restore_job_id'

ID associato al processo di ripristino nel server secondario. @restore_job_id è uniqueidentifier e non può essere NULL.

[ @secondary_id = ] OUTPUT 'secondary_id'

ID del server secondario nella configurazione per il log shipping. @secondary_id è uniqueidentifier e non può essere NULL.

[ @secondary_connection_options = ] '<key_value_pairs>;[ ...]'

Si applica a: SQL Server 2025 (17.x) e versioni successive

Specifica opzioni di connettività aggiuntive per la connessione al database secondario, sotto forma di coppie chiave-valore. @secondary_connection_options è nvarchar(4000) e ha il valore predefinito .NULL

Nella tabella seguente sono elencate le opzioni di connettività disponibili:

Key Value
Encrypt strict, mandatory, optional, truefalse
TrustServerCertificate true, false, yesno
ServerCertificate Percorso nel file system del certificato del server. Lunghezza massima di 260 caratteri.
HostNameInCertificate Override del nome host per il certificato. Lunghezza massima di 255 caratteri.

[ @monitor_connection_options = ] '<key_value_pairs>;[ ...]'

Si applica a: SQL Server 2025 (17.x) e versioni successive

Specifica opzioni di connettività aggiuntive per la connessione al server collegato quando si utilizza un monitoraggio remoto, sotto forma di coppie chiave-valore. @monitor_connection_options è nvarchar(4000) e ha il valore predefinito .NULL

Nella tabella seguente sono elencate le opzioni di connettività disponibili:

Key Value
Encrypt strict, mandatory, optional, truefalse
TrustServerCertificate true, false, yesno
ServerCertificate Percorso nel file system del certificato del server. Lunghezza massima di 260 caratteri.
HostNameInCertificate Override del nome host per il certificato. Lunghezza massima di 255 caratteri.

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Set di risultati

Nessuno.

Osservazioni:

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

  1. Genera un ID secondario per il server e il database primari specificati.

  2. Esegue le operazioni seguenti:

    1. Aggiunge una voce per l'ID secondario in log_shipping_secondary utilizzando gli argomenti forniti.
    2. Crea un processo di copia per l'ID secondario disabilitato.
    3. Imposta l'ID processo di copia nella log_shipping_secondary voce sull'ID processo del processo di copia.
    4. Crea un processo di ripristino per l'ID secondario disabilitato.
    5. Impostare l'ID processo di ripristino nella log_shipping_secondary voce sull'ID processo del processo di ripristino.

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_primary stored procedure per configurare le informazioni per il database AdventureWorks2025 primario nel server secondario.

EXECUTE master.dbo.sp_add_log_shipping_secondary_primary
    @primary_server = N'TRIBECA',
    @primary_database = N'AdventureWorks2022',
    @backup_source_directory = N'\\tribeca\LogShipping',
    @backup_destination_directory = N'',
    @copy_job_name = N'',
    @restore_job_name = N'',
    @file_retention_period = 1440,
    @monitor_server = N'ROCKAWAY',
    @monitor_server_security_mode = 1,
    @copy_job_id = @LS_Secondary__CopyJobId OUTPUT,
    @restore_job_id = @LS_Secondary__RestoreJobId OUTPUT,
    @secondary_id = @LS_Secondary__SecondaryId OUTPUT;
GO