Delen via


sp_add_log_shipping_primary_database (Transact-SQL)

Van toepassing op:SQL Server

Hiermee stelt u de primaire database in voor een configuratie voor logboekverzending, inclusief de back-uptaak, de lokale monitorrecord en de externe monitorrecord.

Transact-SQL syntaxis-conventies

Syntaxis

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

Argumenten

[ @database = ] 'database'

De naam van de primaire database voor logboekverzending. @database is sysname, zonder standaard, en kan dat niet zijn NULL.

[ @backup_directory = ] N'backup_directory'

Het pad naar de back-upmap op de primaire server. @backup_directory is nvarchar(500), zonder standaardinstelling en kan dit niet zijn NULL.

[ @backup_share = ] N'backup_share'

Het netwerkpad naar de back-upmap op de primaire server. @backup_share is nvarchar(500), zonder standaardinstelling en kan dit niet zijn NULL.

[ @backup_job_name = ] 'backup_job_name'

De naam van de SQL Server Agent-taak op de primaire server waarmee de back-up naar de back-upmap wordt gekopieerd. @backup_job_name is sysname en kan dat niet zijn NULL.

[ @backup_retention_period = ] backup_retention_period

De tijdsduur, in minuten, voor het bewaren van het logboekback-upbestand in de back-upmap op de primaire server. @backup_retention_period is int, zonder standaard, en kan dat niet zijn NULL.

[ @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.

[ @backup_threshold = ] backup_threshold

De tijdsduur, in minuten, na de laatste back-up voordat een @threshold_alert fout wordt gegenereerd. @backup_threshold is int, met een standaardwaarde van 60 minuten.

[ @threshold_alert = ] threshold_alert

De waarschuwing die moet worden gegenereerd wanneer de drempelwaarde voor de back-up wordt overschreden. @threshold_alert is int, met een standaardwaarde van 14.420.

[ @threshold_alert_enabled = ] threshold_alert_enabled

Hiermee geeft u op of er een waarschuwing wordt gegenereerd wanneer @backup_threshold wordt overschreden. De waarde nul (0), de standaardwaarde, betekent dat de waarschuwing is uitgeschakeld en niet wordt gegenereerd. @threshold_alert_enabled is bit.

[ @history_retention_period = ] history_retention_period

De tijdsduur in minuten waarin de geschiedenis wordt bewaard. @history_retention_period is int, met een standaardwaarde van NULL. Er wordt een waarde van 14420 gebruikt als er geen is opgegeven.

[ @backup_job_id = ] backup_job_id UITVOER

De sql Server Agent-taak-id die is gekoppeld aan de back-uptaak op de primaire server. @backup_job_id is een OUTPUT-parameter van het type uniqueidentifier en kan dat niet zijn NULL.

[ @primary_id = ] primary_id UITVOER

De id van de primaire database voor de configuratie van logboekverzending. @primary_id is een OUTPUT-parameter van het type uniqueidentifier en kan dat niet zijn NULL.

[ @backup_compression = ] backup_compression_option

Hiermee geeft u op of een configuratie voor logboekverzending back-upcompressie gebruikt.

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

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

Hiermee geeft u aanvullende connectiviteitsopties op bij het maken van verbinding met de primaire, in de vorm van sleutel-waardeparen. @primary_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).

Resultaatset

Geen.

Opmerkingen

sp_add_log_shipping_primary_database moet worden uitgevoerd vanuit de master database op de primaire server. Met deze opgeslagen procedure worden de volgende functies uitgevoerd:

  1. Genereert een primaire id en voegt een vermelding toe voor de primaire database in de tabel log_shipping_primary_databases met behulp van de opgegeven argumenten.

  2. Hiermee maakt u een back-uptaak voor de primaire database die is uitgeschakeld.

  3. Hiermee stelt u de id van de back-uptaak in de log_shipping_primary_databases vermelding in op de taak-id van de back-uptaak.

  4. Hiermee voegt u een lokale monitorrecord toe aan de tabel log_shipping_monitor_primary op de primaire server met behulp van opgegeven argumenten.

  5. Als de monitorserver verschilt van de primaire server, sp_add_log_shipping_primary_database voegt u een monitorrecord log_shipping_monitor_primary toe op de monitorserver met behulp van opgegeven argumenten.

Machtigingen

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

Voorbeelden

In dit voorbeeld wordt de database AdventureWorks2022 toegevoegd als de primaire database in een configuratie voor logboekverzending.

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

In dit voorbeeld wordt de database AdventureWorks2022 toegevoegd als de primaire database in een logboekverzendingsconfiguratie en wordt de logboekverzending geïnstrueerd om de strikte versleutelingsopties te gebruiken voor zowel de verbinding met het primaire exemplaar als het uitvoerbare bestand voor logboekverzending en van het primaire exemplaar naar het externe monitorexemplaren monitor-server.

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