Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 ]
[ , [ @primary_connection_options = ] '<key_value_pairs>;[...]' ]
[ , [ @monitor_connection_options = ] '<key_value_pairs>;[...]' ]
[ ; ]
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.
-
0:Desactivado. Nunca compacte backups de log. -
1:Habilitado. Sempre compacte backups de log. -
2(padrão): use a opção de configuração de servidor padrão de compactação de backup .
[ @primary_connection_options = ] '<key_value_pairs>;[ ...]'
Aplica-se a: SQL Server 2025 (17.x) e versões posteriores
Especifica opções adicionais de conectividade ao se conectar ao primário, na forma de pares de valor de chave.
@primary_connection_options é nvarchar(4000) e tem o padrão de NULL.
A tabela a seguir lista as opções de conectividade disponíveis:
| Key | Value |
|---|---|
Encrypt |
strict, mandatory, optional, , truefalse |
TrustServerCertificate |
true, false, , yesno |
ServerCertificate |
Caminho no sistema de arquivos para o certificado do servidor. Isso tem um comprimento máximo de 260 caracteres. |
HostNameInCertificate |
Substituição de nome do host para o certificado. Isso tem um comprimento máximo de 255 caracteres. |
[ @monitor_connection_options = ] '<key_value_pairs>;[ ...]'
Aplica-se a: SQL Server 2025 (17.x) e versões posteriores
Especifica opções adicionais de conectividade para a conexão do servidor vinculado ao utilizar um monitor remoto, na forma de pares de valores de chave.
@monitor_connection_options é nvarchar(4000) e tem o padrão de NULL.
A tabela a seguir lista as opções de conectividade disponíveis:
| Key | Value |
|---|---|
Encrypt |
strict, mandatory, optional, , truefalse |
TrustServerCertificate |
true, false, , yesno |
ServerCertificate |
Caminho no sistema de arquivos para o certificado do servidor. Isso tem um comprimento máximo de 260 caracteres. |
HostNameInCertificate |
Substituição de nome do host para o certificado. Isso tem um comprimento máximo de 255 caracteres. |
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:
Gera uma ID primária e adiciona uma entrada para o banco de dados primário na tabela
log_shipping_primary_databasesusando os argumentos fornecidos.Cria um trabalho de backup para o banco de dados primário que está desabilitado.
Define a ID da tarefa de backup na
log_shipping_primary_databasesentrada para a ID da tarefa de backup.Adiciona um registro de monitor local na tabela
log_shipping_monitor_primaryno servidor primário usando argumentos fornecidos.Se o servidor monitor for diferente do servidor primário,
sp_add_log_shipping_primary_databaseadicionará um registrolog_shipping_monitor_primaryde monitor no servidor monitor usando os argumentos fornecidos.
Permissões
Somente membros da função de servidor fixa sysadmin podem executar esse procedimento.
Exemplos
A. Adicionar um banco de dados primário em uma configuração de envio de toras
Este exemplo adiciona o banco de dados AdventureWorks2025 como banco de dados primário em uma configuração de envio de log.
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. Adicionar banco de dados primário com criptografia rigorosa
Este exemplo adiciona o banco de dados AdventureWorks2025 como o banco de dados primário em uma configuração de envio de logs e instrui o envio de logs a usar as opções de criptografia estritas para a conexão com a instância primária do executável de envio de logs e da instância primária para a instância monitor-serverde monitor remoto.
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. Use um monitor remoto com opções de conectividade
O monitoramento de envio de logs poderá ser interrompido se o monitor for uma instância remota do SQL Server 2025 (17.x), quando outras instâncias do SQL Server na topologia de envio de logs usarem uma versão anterior.
Depois de abandonar a configuração existente, use o seguinte script de exemplo para recriar a configuração de envio de logs com o @monitor_connection_options correto, tanto para a réplica primária quanto para a secundária.
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 obter mais informações, consulte Criptografia e comportamento de validação de certificado.