Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Configura la base de datos principal de una configuración de trasvase de registros, incluido el trabajo de copia de seguridad, el registro de monitor local y el registro de monitor remoto.
Convenciones de sintaxis de Transact-SQL
Sintaxis
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>;[...]' ]
[ ; ]
Argumentos
[ @database = ] 'base de datos'
Nombre de la base de datos principal de trasvase de registros.
@database es sysname, sin valor predeterminado y no puede ser NULL.
[ @backup_directory = ] N'backup_directory'
Ruta de acceso a la carpeta de copia de seguridad en el servidor principal.
@backup_directory es nvarchar(500), sin ningún valor predeterminado y no puede ser NULL.
[ @backup_share = ] N'backup_share'
Ruta de acceso de red al directorio de copia de seguridad en el servidor principal.
@backup_share es nvarchar(500), sin ningún valor predeterminado y no puede ser NULL.
[ @backup_job_name = ] 'backup_job_name'
Nombre del trabajo de Agente SQL Server en el servidor principal que copia la copia de seguridad en la carpeta de copia de seguridad.
@backup_job_name es sysname y no puede ser NULL.
[ @backup_retention_period = ] backup_retention_period
El período de tiempo, en minutos, para conservar el archivo de copia de seguridad de registros en el directorio de copia de seguridad en el servidor principal.
@backup_retention_period es int, sin valor predeterminado y no puede ser NULL.
[ @monitor_server = ] 'monitor_server'
Nombre del servidor de supervisión.
@monitor_server es sysname, sin ningún valor predeterminado y no puede ser NULL.
[ @monitor_server_security_mode = ] monitor_server_security_mode
Modo de seguridad utilizado para conectarse al servidor de supervisión.
-
1: Autenticación de Windows -
0: autenticación de SQL Server
@monitor_server_security_mode es bit, con un valor predeterminado de 1y no puede ser NULL.
[ @monitor_server_login = ] 'monitor_server_login'
Nombre de usuario de la cuenta usada para acceder al servidor de supervisión.
[ @monitor_server_password = ] 'monitor_server_password'
Contraseña de la cuenta usada para acceder al servidor de supervisión.
[ @backup_threshold = ] backup_threshold
El período de tiempo, en minutos, después de la última copia de seguridad antes de que se produzca un error de @threshold_alert . @backup_threshold es int, con un valor predeterminado de 60 minutos.
[ @threshold_alert = ] threshold_alert
Alerta que se generará cuando se sobrepase el umbral de copia de seguridad. @threshold_alert es int, con un valor predeterminado de 14 420.
[ @threshold_alert_enabled = ] threshold_alert_enabled
Especifica si se genera una alerta cuando se supera @backup_threshold . El valor de cero (0), el valor predeterminado significa que la alerta está deshabilitada y no se generará. @threshold_alert_enabled es bit.
[ @history_retention_period = ] history_retention_period
El período de tiempo en minutos en el que se conserva el historial.
@history_retention_period es int, con un valor predeterminado de NULL. Si no se especifica ningún valor, se utiliza 14420.
[ @backup_job_id = ] backup_job_id SALIDA
El Agente SQL Server identificador de trabajo asociado al trabajo de copia de seguridad en el servidor principal.
@backup_job_id es un parámetro OUTPUT de tipo uniqueidentifier y no puede ser NULL.
[ @primary_id = ] primary_id SALIDA
Id. de la base de datos principal para la configuración del trasvase de registros.
@primary_id es un parámetro OUTPUT de tipo uniqueidentifier y no puede ser NULL.
[ @backup_compression = ] backup_compression_option
Especifica si una configuración de trasvase de registros usa la compresión de copia de seguridad.
-
0:Deshabilitado. No se comprimen nunca las copias de seguridad de registros. -
1:Habilitado. Se comprimen siempre las copias de seguridad de registros. -
2(valor predeterminado): use la opción de configuración predeterminada del servidor de compresión de copia de seguridad .
[ @primary_connection_options = ] '<key_value_pairs>;[ ...]'
Aplica a: SQL Server 2025 (17.x) y versiones posteriores
Especifica opciones de conectividad adicionales al conectarse a la principal, en forma de pares clave-valor.
@primary_connection_options es nvarchar(4000) y tiene el valor predeterminado de NULL.
En la tabla siguiente se enumeran las opciones de conectividad disponibles:
| Key | Importancia |
|---|---|
Encrypt |
strict, mandatory, optional, , true, false |
TrustServerCertificate |
true, false, , yes, no |
ServerCertificate |
Ruta de acceso del sistema de archivos al certificado de servidor. Tiene una longitud máxima de 260 caracteres. |
HostNameInCertificate |
Invalidación de nombre de host para el certificado. Tiene una longitud máxima de 255 caracteres. |
[ @monitor_connection_options = ] '<key_value_pairs>;[ ...]'
Aplica a: SQL Server 2025 (17.x) y versiones posteriores
Especifica opciones de conectividad adicionales para la conexión del servidor vinculado al usar un monitor remoto, en forma de pares clave-valor.
@monitor_connection_options es nvarchar(4000) y tiene el valor predeterminado de NULL.
En la tabla siguiente se enumeran las opciones de conectividad disponibles:
| Key | Importancia |
|---|---|
Encrypt |
strict, mandatory, optional, , true, false |
TrustServerCertificate |
true, false, , yes, no |
ServerCertificate |
Ruta de acceso del sistema de archivos al certificado de servidor. Tiene una longitud máxima de 260 caracteres. |
HostNameInCertificate |
Invalidación de nombre de host para el certificado. Tiene una longitud máxima de 255 caracteres. |
Valores de código de retorno
0 (correcto) o 1 (erróneo).
Conjunto de resultados
Ninguno.
Comentarios
sp_add_log_shipping_primary_database debe ejecutarse desde la master base de datos en el servidor principal. Este procedimiento almacenado realiza las siguientes funciones:
Genera un identificador principal y agrega una entrada para la base de datos principal de la tabla
log_shipping_primary_databasesmediante los argumentos proporcionados.Crea un trabajo de copia de seguridad para la base de datos principal que está deshabilitada.
Establece el identificador del trabajo de copia de seguridad en la
log_shipping_primary_databasesentrada en el identificador de trabajo del trabajo de copia de seguridad.Agrega un registro de monitor local en la tabla
log_shipping_monitor_primarydel servidor principal mediante argumentos proporcionados.Si el servidor de supervisión es diferente del servidor principal,
sp_add_log_shipping_primary_databaseagrega un registro de supervisión enlog_shipping_monitor_primaryen el servidor de supervisión mediante argumentos proporcionados.
Permisos
Solo los miembros del rol fijo de servidor sysadmin pueden ejecutar este procedimiento.
Ejemplos
A. Añadir una base de datos primaria en una configuración de envío de troncos
En este ejemplo se agrega la base de datos AdventureWorks2025 como la base de datos principal en una configuración de trasvase de registros.
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. Añadir base de datos primaria con cifrado estricto
En este ejemplo se agrega la base de datos como base de datos AdventureWorks2025 principal en una configuración de trasvase de registros y se indica al trasvase de registros que usen las opciones de cifrado estrictas para la conexión a la instancia principal desde el ejecutable de trasvase de registros y desde la instancia principal a la instancia monitor-serverde supervisión remota.
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. Utiliza un monitor remoto con opciones de conectividad
La supervisión del trasvase de registros puede interrumpirse si el monitor es una instancia remota de SQL Server 2025 (17.x), cuando otras instancias de SQL Server de la topología de trasvase de registros usan una versión anterior.
Una vez que elimines la configuración existente, usa el siguiente script de ejemplo para recrear la configuración de envío de troncos con el @monitor_connection_options correcto, tanto para la réplica primaria como para la secundaria.
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;';
Para obtener más información, consulte Comportamiento de validación de certificados y cifrado.