sp_add_log_shipping_secondary_primary (Transact-SQL)

Se aplica a: SQL Server

Configura información principal, agrega vínculos al monitor local y remoto y crea trabajos de copia y restauración en el servidor secundario de la base de datos principal especificada.

Convenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

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

[ @backup_source_directory = ] N'backup_source_directory'

Directorio donde se almacenan los archivos de copia de seguridad de registros de transacciones del servidor principal. @backup_source_directory es nvarchar(500) y no puede ser NULL.

[ @backup_destination_directory = ] N'backup_destination_directory'

Directorio del servidor secundario donde se copian los archivos de copia de seguridad. @backup_destination_directory es nvarchar(500) y no puede ser NULL.

[ @copy_job_name = ] 'copy_job_name'

Nombre que se va a usar para el trabajo de Agente SQL Server que se va a crear para copiar copias de seguridad del registro de transacciones en el servidor secundario. copy_job_name es sysname y no puede ser NULL.

[ @restore_job_name = ] 'restore_job_name'

Nombre del trabajo de Agente SQL Server en el servidor secundario que restaura las copias de seguridad en la base de datos secundaria. restore_job_name es sysname y no puede ser NULL.

[ @file_retention_period = ] 'file_retention_period'

El período de tiempo, en minutos, que un archivo de copia de seguridad se conserva en el servidor secundario en la ruta de acceso especificada por el @backup_destination_directory parámetro antes de eliminarse. @history_retention_period es int, con un valor predeterminado de NULL. Si no se especifica ningún valor, se utiliza 14420.

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

[ @copy_job_id = ] SALIDA 'copy_job_id'

Id. asociado al trabajo de copia en el servidor secundario. @copy_job_id es uniqueidentifier y no puede ser NULL.

[ @restore_job_id = ] SALIDA 'restore_job_id'

Id. asociado al trabajo de restauración en el servidor secundario. @restore_job_id es uniqueidentifier y no puede ser NULL.

[ @secondary_id = ] SALIDA 'secondary_id'

Id. del servidor secundario en la configuración del trasvase de registros. @secondary_id es uniqueidentifier y no puede ser NULL.

Valores de código de retorno

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

Conjunto de resultados

Ninguno.

Comentarios

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

  1. Genera un Id. secundario para el servidor principal y la base de datos principal especificados.

  2. Hace lo siguiente:

    1. Agrega una entrada para el identificador secundario en log_shipping_secondary mediante los argumentos proporcionados.
    2. Crea un trabajo de copia para el Id. secundario que está deshabilitado.
    3. Establece el identificador del trabajo de copia en la log_shipping_secondary entrada en el identificador de trabajo del trabajo de copia.
    4. Crea un trabajo de restauración para el Id. secundario que está deshabilitado.
    5. Establezca el identificador del trabajo de restauración en la log_shipping_secondary entrada en el identificador de trabajo del trabajo de restauración.

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_primary procedimiento almacenado para configurar la información de la base de datos AdventureWorks2022 principal en el servidor secundario.

EXEC 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