Compartilhar via


sp_add_log_shipping_primary_database (Transact-SQL)

Aplica-se: SQL Server

Instala o banco de dados primário para uma configuração de envio de log, incluindo o trabalho de backup, registro de monitor local e registro de monitor remoto.

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Argumentos

@database [ = ] 'banco de dados'

O nome do banco de dados primário de envio de logs. @database é sysname, sem padrão, e não pode ser NULL.

@backup_directory [ = ] N'backup_directory'

O caminho para a pasta de backup no servidor primário. @backup_directory é nvarchar(500), sem padrão, e não pode ser NULL.

@backup_share [ = ] N'backup_share'

O caminho de rede para o diretório de backup no servidor primário. @backup_share é nvarchar(500)NULL

@backup_job_name [ = ] 'backup_job_name'

O nome do trabalho do SQL Server Agent no servidor primário que copia o backup para a pasta de backup. @backup_job_name é sysname e não pode ser NULL.

@backup_retention_period [ = ] backup_retention_period

O período de tempo, em minutos, para reter o arquivo de backup de log no diretório de backup no servidor primário. @backup_retention_period é int, sem padrão, e não pode ser NULL.

@monitor_server [ = ] 'monitor_server'

O nome do servidor monitor. @monitor_server é sysname, sem padrão, e não pode ser NULL.

@monitor_server_security_mode [ = ] monitor_server_security_mode

O modo de segurança usado para conexão ao servidor monitor.

  • 1: Autenticação do Windows
  • 0: Autenticação do SQL Server

@monitor_server_security_mode é bit, com um padrão de 1, e não pode ser NULL.

@monitor_server_login [ = ] 'monitor_server_login'

O nome de usuário da conta usada para acessar o servidor do monitor.

@monitor_server_password [ = ] 'monitor_server_password'

A senha da conta usada para acessar o servidor do monitor.

@backup_threshold [ = ] backup_threshold

O período de tempo, em minutos, após o último backup antes que um erro de @threshold_alert seja gerado. @backup_threshold é int, com um padrão de 60 minutos.

@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 @backup_threshold é excedido. O valor de zero (0), o padrão, significa que o alerta está desabilitado e não será 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.

@backup_job_id [ = ] backup_job_id SAÍDA

A ID do trabalho do SQL Server Agent associada ao trabalho de backup no servidor primário. @backup_job_id é um parâmetro OUTPUT do tipo uniqueidentifier e não pode ser NULL.

@primary_id [ = ] primary_id SAÍDA

A ID do banco de dados primário para a configuração de envio de log. @primary_id é um parâmetro OUTPUT do tipo uniqueidentifier e não pode ser NULL.

@backup_compression [ = ] backup_compression_option

Especifica se uma configuração de envio de logs usa compactação de backup.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Conjunto de resultados

Nenhum.

Comentários

sp_add_log_shipping_primary_database deve ser executado a partir do master banco de dados no servidor primário. Esse procedimento armazenado executa as seguintes funções:

  1. Gera uma ID primária e adiciona uma entrada para o banco de dados primário na tabela log_shipping_primary_databases usando os argumentos fornecidos.

  2. Cria um trabalho de backup para o banco de dados primário que está desabilitado.

  3. Define a ID da tarefa de backup na log_shipping_primary_databases entrada para a ID da tarefa de backup.

  4. Adiciona um registro de monitor local na tabela log_shipping_monitor_primary no servidor primário usando argumentos fornecidos.

  5. Se o servidor monitor for diferente do servidor primário, sp_add_log_shipping_primary_database adicionará um registro log_shipping_monitor_primary 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 adiciona o banco de dados AdventureWorks2022 como banco de dados primário em uma configuração de envio de log.

DECLARE @LS_BackupJobId AS UNIQUEIDENTIFIER;
DECLARE @LS_PrimaryId AS UNIQUEIDENTIFIER;

EXEC master.dbo.sp_add_log_shipping_primary_database
    @database = N'AdventureWorks',
    @backup_directory = N'c:\lsbackup',
    @backup_share = N'\\tribeca\lsbackup',
    @backup_job_name = N'LSBackup_AdventureWorks',
    @backup_retention_period = 1440,
    @monitor_server = N'rockaway',
    @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