Delen via


sp_add_log_shipping_secondary_primary (Transact-SQL)

Van toepassing op:SQL Server

Hiermee stelt u de primaire informatie in, voegt lokale en externe monitorkoppelingen toe en maakt u kopieer- en hersteltaken op de secundaire server voor de opgegeven primaire database.

Transact-SQL syntaxis-conventies

Syntaxis

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'

De naam van het primaire exemplaar van de SQL Server Database Engine in de configuratie voor logboekverzending. @primary_server is sysname en kan dat niet zijn NULL.

[ @primary_database = ] 'primary_database'

De naam van de database op de primaire server. @primary_database is sysname, zonder standaardinstelling.

[ @backup_source_directory = ] N'backup_source_directory'

De map waarin back-upbestanden van transactielogboeken van de primaire server worden opgeslagen. @backup_source_directory is nvarchar(500) en kan dat niet zijn NULL.

[ @backup_destination_directory = ] N'backup_destination_directory'

De map op de secundaire server waarnaar back-upbestanden worden gekopieerd. @backup_destination_directory is nvarchar(500) en kan dat niet zijn NULL.

[ @copy_job_name = ] 'copy_job_name'

De naam die moet worden gebruikt voor de SQL Server Agent-taak die wordt gemaakt om back-ups van transactielogboeken naar de secundaire server te kopiƫren. copy_job_name is sysname en kan dat niet zijn NULL.

[ @restore_job_name = ] 'restore_job_name'

De naam van de SQL Server Agent-taak op de secundaire server die de back-ups herstelt naar de secundaire database. restore_job_name is sysname en kan dat niet zijn NULL.

[ @file_retention_period = ] 'file_retention_period'

De tijdsduur, in minuten, dat een back-upbestand wordt bewaard op de secundaire server in het pad dat is opgegeven door de @backup_destination_directory parameter voordat het wordt verwijderd. @history_retention_period is int, met een standaardwaarde van NULL. Er wordt een waarde van 14420 gebruikt als er geen is opgegeven.

[ @monitor_server = ] 'monitor_server'

De naam van de monitorserver. @monitor_server is sysname, zonder standaard, en kan dat niet zijn NULL.

[ @monitor_server_security_mode = ] 'monitor_server_security_mode'

De beveiligingsmodus die wordt gebruikt om verbinding te maken met de monitorserver.

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

@monitor_server_security_mode is bit, met een standaardwaarde van 1en kan dat niet zijn NULL.

[ @monitor_server_login = ] 'monitor_server_login'

De gebruikersnaam van het account dat wordt gebruikt voor toegang tot de monitorserver.

[ @monitor_server_password = ] 'monitor_server_password'

Het wachtwoord van het account dat wordt gebruikt voor toegang tot de monitorserver.

[ @copy_job_id = ] UITVOER 'copy_job_id'

De id die is gekoppeld aan de kopieertaak op de secundaire server. @copy_job_id is uniqueidentifier en kan dat niet zijn NULL.

[ @restore_job_id = ] UITVOER 'restore_job_id'

De id die is gekoppeld aan de hersteltaak op de secundaire server. @restore_job_id is uniqueidentifier en kan dat niet zijn NULL.

[ @secondary_id = ] UITVOER 'secondary_id'

De id voor de secundaire server in de configuratie voor logboekverzending. @secondary_id is uniqueidentifier en kan dat niet zijn NULL.

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

Van toepassing op: SQL Server 2025 (17.x) Preview en latere versies

Hiermee geeft u aanvullende connectiviteitsopties op wanneer u verbinding maakt met de secundaire, in de vorm van sleutel-waardeparen. @secondary_connection_options is nvarchar(4000) en heeft de standaardwaarde NULL.

De volgende tabel bevat de beschikbare connectiviteitsopties:

Key Waarde
Encrypt strict mandatory, optional, truefalse
TrustServerCertificate true,false,yes,no
ServerCertificate Pad op het bestandssysteem naar het servercertificaat. Dit heeft een maximale lengte van 260 tekens.
HostNameInCertificate Hostnaam overschrijven voor het certificaat. Dit heeft een maximale lengte van 255 tekens.

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

Van toepassing op: SQL Server 2025 (17.x) Preview en latere versies

Hiermee geeft u aanvullende connectiviteitsopties voor de gekoppelde serververbinding bij gebruik van een externe monitor, in de vorm van sleutel-waardeparen. @monitor_connection_options is nvarchar(4000) en heeft de standaardwaarde NULL.

De volgende tabel bevat de beschikbare connectiviteitsopties:

Key Waarde
Encrypt strict mandatory, optional, truefalse
TrustServerCertificate true,false,yes,no
ServerCertificate Pad op het bestandssysteem naar het servercertificaat. Dit heeft een maximale lengte van 260 tekens.
HostNameInCertificate Hostnaam overschrijven voor het certificaat. Dit heeft een maximale lengte van 255 tekens.

Codewaarden retourneren

0 (geslaagd) of 1 (mislukt).

Resultatenset

Geen.

Opmerkingen

sp_add_log_shipping_secondary_primary moet worden uitgevoerd vanuit de master database op de secundaire server. Deze opgeslagen procedure doet het volgende:

  1. Hiermee genereert u een secundaire id voor de opgegeven primaire server en primaire database.

  2. Doet het volgende:

    1. Hiermee voegt u een vermelding voor de secundaire id toe met log_shipping_secondary behulp van de opgegeven argumenten.
    2. Hiermee maakt u een kopieertaak voor de secundaire id die is uitgeschakeld.
    3. Hiermee stelt u de kopieertaak-id in de log_shipping_secondary vermelding in op de taak-id van de kopieertaak.
    4. Hiermee maakt u een hersteltaak voor de secundaire id die is uitgeschakeld.
    5. Stel de hersteltaak-id in de log_shipping_secondary vermelding in op de taak-id van de hersteltaak.

Permissions

Alleen leden van de vaste serverrol sysadmin kunnen deze procedure uitvoeren.

Voorbeelden

In dit voorbeeld ziet u hoe u de sp_add_log_shipping_secondary_primary opgeslagen procedure gebruikt om informatie in te stellen voor de primaire database AdventureWorks2022 op de secundaire server.

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