Dela via


sp_add_log_shipping_secondary_primary (Transact-SQL)

Gäller för:SQL Server

Konfigurerar den primära informationen, lägger till lokala och fjärranslutna övervakningslänkar och skapar kopierings- och återställningsjobb på den sekundära servern för den angivna primära databasen.

Transact-SQL syntaxkonventioner

Syntax

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 ]
    [ , [ @secondary_connection_options = ] '<key_value_pairs>;[...]' ]
    [ , [ @monitor_connection_options = ] '<key_value_pairs>;[...]' ]
[ ; ]

Arguments

[ @primary_server = ] "primary_server"

Namnet på den primära instansen av SQL Server Database Engine i loggleveranskonfigurationen. @primary_server är sysname och kan inte vara NULL.

[ @primary_database = ] "primary_database"

Namnet på databasen på den primära servern. @primary_database är sysname, utan standard.

[ @backup_source_directory = ] N'backup_source_directory'

Katalogen där säkerhetskopieringsfiler för transaktionsloggar från den primära servern lagras. @backup_source_directory är nvarchar(500) och kan inte vara NULL.

[ @backup_destination_directory = ] N'backup_destination_directory'

Katalogen på den sekundära server där säkerhetskopieringsfiler kopieras till. @backup_destination_directory är nvarchar(500) och kan inte vara NULL.

[ @copy_job_name = ] "copy_job_name"

Namnet som ska användas för SQL Server Agent-jobbet som skapas för att kopiera säkerhetskopior av transaktionsloggar till den sekundära servern. copy_job_name är sysname och får inte vara NULL.

[ @restore_job_name = ] "restore_job_name"

Namnet på SQL Server Agent-jobbet på den sekundära servern som återställer säkerhetskopiorna till den sekundära databasen. restore_job_name är sysname och kan inte vara NULL.

[ @file_retention_period = ] "file_retention_period"

Hur lång tid, i minuter, som en säkerhetskopia sparas på den sekundära servern i sökvägen som anges av parametern innan den @backup_destination_directory tas bort. @history_retention_period är int, med standardvärdet NULL. Värdet 14420 används om inget anges.

[ @monitor_server = ] "monitor_server"

Namnet på övervakningsservern. @monitor_server är sysname, utan standard och kan inte vara NULL.

[ @monitor_server_security_mode = ] "monitor_server_security_mode"

Säkerhetsläget som används för att ansluta till övervakningsservern.

  • 1: Windows-autentisering
  • 0: SQL Server-autentisering

@monitor_server_security_mode är bit, med standardvärdet 1, och kan inte vara NULL.

[ @monitor_server_login = ] "monitor_server_login"

Användarnamnet för det konto som används för att komma åt övervakningsservern.

[ @monitor_server_password = ] "monitor_server_password"

Lösenordet för det konto som används för att komma åt övervakningsservern.

[ @copy_job_id = ] "copy_job_id" UTDATA

Det ID som är associerat med kopieringsjobbet på den sekundära servern. @copy_job_id är unikidentifierare och kan inte vara NULL.

[ @restore_job_id = ] "restore_job_id" UTDATA

Det ID som är associerat med återställningsjobbet på den sekundära servern. @restore_job_id är unikidentifierare och kan inte vara NULL.

[ @secondary_id = ] "secondary_id" UTDATA

ID:t för den sekundära servern i loggleveranskonfigurationen. @secondary_id är unikidentifierare och kan inte vara NULL.

[ @secondary_connection_options = ] '<key_value_pairs>;[ ...]'

Gäller för: FÖRHANDSVERSION AV SQL Server 2025 (17.x) och senare versioner

Anger ytterligare anslutningsalternativ när du ansluter till den sekundära, i form av nyckelvärdepar. @secondary_connection_options är nvarchar(4000) och har standardvärdet NULL.

I följande tabell visas tillgängliga anslutningsalternativ:

Key Värde
Encrypt strict, mandatory, optional, , , truefalse
TrustServerCertificate true, false, , yesno
ServerCertificate Sökväg till servercertifikatet i filsystemet. Detta har en maximal längd på 260 tecken.
HostNameInCertificate Åsidosättning av värdnamn för certifikatet. Detta har en maximal längd på 255 tecken.

[ @monitor_connection_options = ] '<key_value_pairs>;[ ...]'

Gäller för: FÖRHANDSVERSION AV SQL Server 2025 (17.x) och senare versioner

Anger ytterligare anslutningsalternativ för den länkade serveranslutningen när du använder en fjärrövervakare, i form av nyckelvärdepar. @monitor_connection_options är nvarchar(4000) och har standardvärdet NULL.

I följande tabell visas tillgängliga anslutningsalternativ:

Key Värde
Encrypt strict, mandatory, optional, , , truefalse
TrustServerCertificate true, false, , yesno
ServerCertificate Sökväg till servercertifikatet i filsystemet. Detta har en maximal längd på 260 tecken.
HostNameInCertificate Åsidosättning av värdnamn för certifikatet. Detta har en maximal längd på 255 tecken.

Returnera kodvärden

0 (lyckades) eller 1 (misslyckades).

Resultatuppsättning

Ingen.

Anmärkningar

sp_add_log_shipping_secondary_primary måste köras från master databasen på den sekundära servern. Den här lagrade proceduren gör följande:

  1. Genererar ett sekundärt ID för den angivna primära servern och den primära databasen.

  2. Gör följande:

    1. Lägger till en post för det sekundära ID:t med log_shipping_secondary de angivna argumenten.
    2. Skapar ett kopieringsjobb för det sekundära ID som är inaktiverat.
    3. Anger kopieringsjobbets log_shipping_secondary ID i posten till jobb-ID för kopieringsjobbet.
    4. Skapar ett återställningsjobb för det sekundära ID som är inaktiverat.
    5. Ange återställningsjobbets log_shipping_secondary ID i posten till jobb-ID för återställningsjobbet.

Permissions

Endast medlemmar i den fasta serverrollen sysadmin kan köra den här proceduren.

Examples

Det här exemplet illustrerar hur du använder den sp_add_log_shipping_secondary_primary lagrade proceduren för att konfigurera information för den primära databasen AdventureWorks2022 på den sekundära servern.

EXECUTE 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