Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
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 ]
[ , [ @primary_connection_options = ] '<key_value_pairs>;[...]' ]
[ , [ @monitor_connection_options = ] '<key_value_pairs>;[...]' ]
[ ; ]
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.
-
0:Disabile. I backup del log non vengono mai compressi. -
1:Abilitato. I backup del log vengono sempre compressi. -
2(impostazione predefinita): usare l'opzione di configurazione del server backup compression default .
[ @primary_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 primario, sotto forma di coppie chiave-valore.
@primary_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_primary_database deve essere eseguito dal master database nel server primario. Questa stored procedure esegue le funzioni seguenti:
Genera un ID primario e aggiunge una voce per il database primario nella tabella
log_shipping_primary_databasesutilizzando gli argomenti forniti.Crea un processo di backup per il database primario disabilitato.
Imposta l'ID processo di backup nella
log_shipping_primary_databasesvoce sull'ID processo del processo di backup.Aggiunge un record di monitoraggio locale nella tabella
log_shipping_monitor_primarynel server primario utilizzando argomenti forniti.Se il server di monitoraggio è diverso dal server primario,
sp_add_log_shipping_primary_databaseaggiunge un record di monitoraggio nellog_shipping_monitor_primaryserver di monitoraggio utilizzando argomenti forniti.
Autorizzazioni
Solo i membri del ruolo predefinito del server sysadmin possono eseguire questa procedura.
Esempi
A. Aggiungi un database primario in una configurazione di spedizione di log
In questo esempio il database AdventureWorks2025 viene aggiunto come database primario in una configurazione per il log shipping.
DECLARE @LS_BackupJobId AS UNIQUEIDENTIFIER;
DECLARE @LS_PrimaryId AS UNIQUEIDENTIFIER;
EXECUTE master.dbo.sp_add_log_shipping_primary_database
@database = N'AdventureWorks',
@backup_directory = N'c:\lsbackup',
@backup_share = N'\\backupshare\lsbackup',
@backup_job_name = N'LSBackup_AdventureWorks',
@backup_retention_period = 1440,
@monitor_server = N'monitor-server',
@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
B. Aggiungi database primario con crittografia rigorosa
Questo esempio aggiunge il database AdventureWorks2025 come database primario in una configurazione per il log shipping e indica al log shipping di usare le opzioni di crittografia rigorose per la connessione all'istanza primaria dal file eseguibile per il log shipping e dall'istanza primaria all'istanza monitor-serverdi Monitoraggio remoto.
DECLARE @LS_BackupJobId AS UNIQUEIDENTIFIER;
DECLARE @LS_PrimaryId AS UNIQUEIDENTIFIER;
EXECUTE master.dbo.sp_add_log_shipping_primary_database
@database = N'AdventureWorks',
@backup_directory = N'c:\lsbackup',
@backup_share = N'\\backupshare\lsbackup',
@backup_job_name = N'LSBackup_AdventureWorks',
@backup_retention_period = 1440,
@monitor_server = N'monitor-server',
@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,
@primary_connection_options = N'Encrypt=Strict;',
@monitor_connection_options = N'Encrypt=Strict;';
GO
C. Usa un monitor remoto con opzioni di connettività
Il monitoraggio del log shipping può interrompere se il monitoraggio è un'istanza remota di SQL Server 2025 (17.x), quando altre istanze di SQL Server nella topologia di log shipping usano una versione precedente.
Una volta eliminata la configurazione esistente, usa il seguente script di esempio per ricreare la configurazione di spedizione dei log con il @monitor_connection_options corretto, sia per la replica primaria che per quella secondaria.
DECLARE @LS_BackupJobId AS UNIQUEIDENTIFIER;
DECLARE @LS_PrimaryId AS UNIQUEIDENTIFIER;
EXECUTE
master.dbo.sp_add_log_shipping_primary_database
@database = N'LogShippedDB',
@backup_directory = N'\\backupshare\lsbackup',
@backup_share = N'\\backupshare\lsbackup',
@backup_job_name = N'LSBackup_AdventureWorks',
@backup_retention_period = 4320,
@backup_compression = 2,
@monitor_server = N'LS25Monitor',
@monitor_server_security_mode = 1,
@backup_threshold = 60,
@threshold_alert_enabled = 1,
@history_retention_period = 5760,
@backup_job_id = @LS_BackupJobId OUTPUT,
@primary_id = @LS_PrimaryId OUTPUT,
@overwrite = 1,
@monitor_connection_options = N'Encrypt=Mandatory;TrustServerCertificate=Yes;';
Per altre informazioni, vedere Comportamento di crittografia e convalida dei certificati.