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
sys.sp_add_log_shipping_primary_database
[ @database = ] N'database'
, [ @backup_directory = ] N'backup_directory'
, [ @backup_share = ] N'backup_share'
[ , [ @backup_job_name = ] N'backup_job_name' ]
[ , [ @backup_retention_period = ] backup_retention_period ]
[ , [ @monitor_server = ] N'monitor_server' ]
[ , [ @monitor_server_security_mode = ] monitor_server_security_mode ]
[ , [ @monitor_server_login = ] N'monitor_server_login' ]
[ , [ @monitor_server_password = ] N'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 ]
[ , [ @overwrite = ] overwrite ]
[ , [ @ignoreremotemonitor = ] ignoreremotemonitor ]
[ , [ @backup_compression = ] backup_compression ]
[ , [ @primary_server_with_port_override = ] N'primary_server_with_port_override' ]
[ , [ @primary_connection_options = ] N'primary_connection_options' ]
[ , [ @monitor_connection_options = ] N'monitor_connection_options' ]
[ ; ]
Argumentos
@database [ = ] N'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 = ] N'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, com um padrão de 1440, e não pode ser NULL.
[ @monitor_server = ] N'monitor_server'
O nome do servidor monitor.
@monitor_server é sysname 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. @monitor_server_security_mode é bit e pode ser um dos seguintes valores:
-
1(padrão): Autenticação do Windows -
0: Autenticação do SQL Server
[ @monitor_server_login = ] N'monitor_server_login'
O nome de usuário da conta usada para acessar o servidor do monitor.
@monitor_server_login é sysname, com um padrão de NULL.
[ @monitor_server_password = ] N'monitor_server_password'
A senha da conta usada para acessar o servidor do monitor.
@monitor_server_password é sysname, com um padrão de NULL.
@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 45 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 14420.
@threshold_alert_enabled [ = ] threshold_alert_enabled
Especifica se um alerta é gerado quando @backup_threshold é excedido.
@threshold_alert_enabled é bit, com um padrão de 0. Quando definido como 0, o alerta é desabilitado e não é gerado.
@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 1440.
[ @backup_job_id = ] SAÍDA 'backup_job_id'
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 = ] SAÍDA 'primary_id'
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.
[ @overwrite = ] substituir
Identificado apenas para fins informativos. Sem suporte. A compatibilidade futura não está garantida.
@ignoreremotemonitor [ = ] ignoreremotemonitor
Identificado apenas para fins informativos. Sem suporte. A compatibilidade futura não está garantida.
[ @backup_compression = ] backup_compression
Especifica se uma configuração de envio de logs usa compactação de backup. @backup_compression é minúsculo e pode ser um dos seguintes valores:
-
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_server_with_port_override = ] N'primary_server_with_port_override'
Válido somente para cenários em que o envio de logs é usado com grupos de disponibilidade contidos no primário.
@primary_server_with_port_override é sysname, com um padrão de NULL.
Se você usar um grupo de disponibilidade contido no lado primário do envio de logs, deverá passar a cadeia de conexão para o ouvinte do grupo de disponibilidade contido com uma porta.
Para obter mais informações, confira O que é um grupo de disponibilidade independente?
[ @primary_connection_options = ] N'primary_connection_options'
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 pode ser um dos seguintes valores:
| 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 = ] N'monitor_connection_options'
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 pode ser um dos seguintes valores:
| 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.