sp_add_log_shipping_secondary_database (Transact-SQL)

Se aplica a: SQL Server

Configura una base de datos secundaria para el trasvase de registros.

Convenciones de sintaxis de Transact-SQL

Sintaxis

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' ]
[ ; ]

Argumentos

[ @secondary_database = ] 'secondary_database'

Nombre de la base de datos secundaria. @secondary_database es sysname, sin ningún valor predeterminado.

[ @primary_server = ] 'primary_server'

Nombre de la instancia principal del motor de base de datos de SQL Server en la configuración del trasvase de registros. @primary_server es sysname y no puede ser NULL.

[ @primary_database = ] 'primary_database'

Nombre de la base de datos en el servidor principal. @primary_database es sysname, sin ningún valor predeterminado.

[ @restore_delay = ] 'restore_delay'

Cantidad de tiempo, en minutos, que espera el servidor secundario antes de restaurar un archivo de copia de seguridad dado. @restore_delay es int y no puede ser NULL. El valor predeterminado es 0.

[ @restore_all = ] 'restore_all'

Si se establece en 1, el servidor secundario restaura todas las copias de seguridad disponibles del registro de transacciones cuando se ejecuta el trabajo de restauración. De lo contrario, se detiene tras haberse restaurado un archivo. @restore_all es bit y no puede ser NULL.

[ @restore_mode = ] 'restore_mode'

Modo de restauración para la base de datos secundaria.

  • 0: restauración del registro con NORECOVERY
  • 1: restaurar el registro con STANDBY

@restore_mode es bit y no puede ser NULL.

[ @disconnect_users = ] 'disconnect_users'

Si se establece en 1, los usuarios se desconectan de la base de datos secundaria cuando se realiza una operación de restauración. El valor predeterminado es 0. @disconnect_users es bit y no puede ser NULL.

[ @block_size = ] 'block_size'

Tamaño, en bytes, que se usa como tamaño de bloque para el dispositivo de copia de seguridad. @block_size es int con un valor predeterminado de -1.

[ @buffer_count = ] 'buffer_count'

Número total de búferes utilizados por la operación de copia de seguridad o restauración. @buffer_count es int con un valor predeterminado de -1.

[ @max_transfer_size = ] 'max_transfer_size'

Tamaño, en bytes, de la solicitud de entrada o salida máxima emitida por SQL Server al dispositivo de copia de seguridad. @max_transfersize es int y puede ser NULL.

[ @restore_threshold = ] 'restore_threshold'

Número de minutos permitido entre las operaciones de restauración antes de que se genere una alerta. @restore_threshold es int y no puede ser NULL.

[ @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 @restore_threshold . Un valor de 1 (valor predeterminado) significa que se genera la alerta. @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.

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Conjunto de resultados

Ninguno.

Comentarios

sp_add_log_shipping_secondary_database debe ejecutarse desde la master base de datos en el servidor secundario. Este procedimiento almacenado hace lo siguiente:

  1. sp_add_log_shipping_secondary_primary se debe llamar antes de este procedimiento almacenado para inicializar la información de la base de datos de trasvase de registros principal en el servidor secundario.

  2. Agrega una entrada para la base de datos secundaria en log_shipping_secondary_databases mediante los argumentos proporcionados.

  3. Agrega un registro de monitor local en log_shipping_monitor_secondary en el servidor secundario mediante argumentos proporcionados.

  4. Si el servidor de supervisión es diferente del servidor secundario, sp_add_log_shipping_secondary_database agrega un registro de supervisión en log_shipping_monitor_secondary en el servidor de supervisión mediante argumentos proporcionados.

Permisos

Solo los miembros del rol fijo de servidor sysadmin pueden ejecutar este procedimiento.

Ejemplos

En este ejemplo se muestra el uso del sp_add_log_shipping_secondary_database procedimiento almacenado para agregar la base de datos LogShipAdventureWorks como base de datos secundaria en una configuración de trasvase de registros con la base de datos AdventureWorks2022 principal que reside en el servidor TRIBECAprincipal .

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