Partilhar via


sp_add_log_shipping_secondary_database (Transact-SQL)

Aplica-se: SQL Server

Define um banco de dados secundário para envio de logs.

Convenções de sintaxe de Transact-SQL

Sintaxe

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'

O nome do banco de dados secundário. @secondary_database é sysname, sem padrão.

@primary_server [ = ] 'primary_server'

O nome da instância primária do Mecanismo de Banco de Dados do SQL Server em uma configuração de envio de log. @primary_server é sysname e não pode ser NULL.

@primary_database [ = ] 'primary_database'

O nome do banco de dados no servidor primário. @primary_database é sysname, sem padrão.

@restore_delay [ = ] 'restore_delay'

A quantidade de tempo, em minutos, que o servidor secundário espera antes de restaurar um determinado arquivo de backup. @restore_delay é int e não pode ser NULL. O valor padrão é 0.

@restore_all [ = ] 'restore_all'

Se definido como 1, o servidor secundário restaura todos os backups de log de transações disponíveis quando o trabalho de restauração é executado. Caso contrário, ele será interrompido depois que um arquivo for restaurado. @restore_all é um pouco e não pode serNULL.

@restore_mode [ = ] 'restore_mode'

O modo de restauração do banco de dados secundário.

  • 0: Restaurar log com NORECOVERY
  • 1: restaurar log com STANDBY

@restore_mode é um pouco e não pode serNULL.

@disconnect_users [ = ] 'disconnect_users'

Se definido como 1, os usuários serão desconectados do banco de dados secundário quando uma operação de restauração for executada. O padrão é 0. @disconnect_users é um pouco e não pode serNULL.

@block_size [ = ] 'block_size'

O tamanho, em bytes, usado como o tamanho do bloco para o dispositivo de backup. @block_size é int com um valor padrão de -1.

@buffer_count [ = ] 'buffer_count'

Número total de buffers usado pela operação de backup ou restauração. @buffer_count é int com um valor padrão de -1.

@max_transfer_size [ = ] 'max_transfer_size'

O tamanho, em bytes, da solicitação máxima de entrada ou saída emitida pelo SQL Server para o dispositivo de backup. @max_transfersize é int e pode ser NULL.

@restore_threshold [ = ] 'restore_threshold'

Número de minutos permitidos a decorrer entre operações de restauração antes que um alerta seja gerado. @restore_threshold é int e não pode ser NULL.

@threshold_alert [ = ] 'threshold_alert'

O alerta a ser emitido quando o limite do backup for excedido. @threshold_alert é int, com um padrão de 14.420.

@threshold_alert_enabled [ = ] 'threshold_alert_enabled'

Especifica se um alerta é gerado quando @restore_threshold é excedido. Um valor de 1 (o padrão) significa que o alerta é gerado. @threshold_alert_enabled é pouco.

@history_retention_period [ = ] '@history_retention_period'

O período de tempo em minutos em que o histórico é retido. @history_retention_period é int, com um padrão de NULL. O valor 14420 será usado se nenhum valor for especificado.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Conjunto de resultados

Nenhum.

Comentários

sp_add_log_shipping_secondary_database deve ser executado a master partir do banco de dados no servidor secundário. Esse procedimento armazenado faz o seguinte:

  1. sp_add_log_shipping_secondary_primary deve ser chamado antes desse procedimento armazenado para inicializar as informações do banco de dados de envio de logs primário no servidor secundário.

  2. Adiciona uma entrada para o banco de dados secundário usando log_shipping_secondary_databases os argumentos fornecidos.

  3. Adiciona um registro log_shipping_monitor_secondary de monitor local no servidor secundário usando os argumentos fornecidos.

  4. Se o servidor monitor for diferente do servidor secundário, sp_add_log_shipping_secondary_database adicionará um registro log_shipping_monitor_secondary de monitor no servidor monitor usando os argumentos fornecidos.

Permissões

Somente membros da função de servidor fixa sysadmin podem executar esse procedimento.

Exemplos

Este exemplo ilustra o uso do sp_add_log_shipping_secondary_database procedimento armazenado para adicionar o banco de dados LogShipAdventureWorks como um banco de dados secundário em uma configuração de envio de logs com o banco de dados AdventureWorks2022 primário residindo no servidor TRIBECAprimário.

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