Dela via


sp_add_log_shipping_primary_database (Transact-SQL)

gäller för:SQL Server

Konfigurerar den primära databasen för en loggleveranskonfiguration, inklusive säkerhetskopieringsjobbet, den lokala övervakningsposten och fjärrövervakningsposten.

Transact-SQL syntaxkonventioner

Syntax

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

Argumentpunkter

[ @database = ] "databas"

Namnet på den primära loggöverföringsdatabasen. @database är sysname, utan standard och kan inte vara NULL.

[ @backup_directory = ] N'backup_directory'

Sökvägen till mappen backup på den primära servern. @backup_directory är nvarchar(500), utan standard och kan inte vara NULL.

[ @backup_share = ] N'backup_share'

Nätverkssökvägen till säkerhetskopieringskatalogen på den primära servern. @backup_share är nvarchar(500), utan standard och kan inte vara NULL.

[ @backup_job_name = ] "backup_job_name"

Namnet på SQL Server Agent-jobbet på den primära servern som kopierar säkerhetskopian till mappen backup. @backup_job_name är sysname och får inte vara NULL.

[ @backup_retention_period = ] backup_retention_period

Hur lång tid, i minuter, för att behålla loggsäkerhetskopieringsfilen i säkerhetskopieringskatalogen på den primära servern. @backup_retention_period är int, utan standard och kan inte vara NULL.

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

[ @backup_threshold = ] backup_threshold

Hur lång tid, i minuter, efter den senaste säkerhetskopieringen innan ett @threshold_alert fel utlöses. @backup_threshold är int, med standardvärdet 60 minuter.

[ @threshold_alert = ] threshold_alert

Aviseringen som ska aktiveras när tröskelvärdet för säkerhetskopiering överskrids. @threshold_alert är int, med standardvärdet 14 420.

[ @threshold_alert_enabled = ] threshold_alert_enabled

Anger om en avisering utlöses när @backup_threshold överskrids. Värdet noll (0), standardvärdet, innebär att aviseringen är inaktiverad och inte utlöses. @threshold_alert_enabled är lite.

[ @history_retention_period = ] history_retention_period

Hur lång tid i minuter som historiken behålls. @history_retention_period är int, med standardvärdet NULL. Värdet 14420 används om inget anges.

[ @backup_job_id = ] backup_job_id UTDATA

SQL Server Agent-jobb-ID:t som är associerat med säkerhetskopieringsjobbet på den primära servern. @backup_job_id är en OUTPUT-parameter av typen uniqueidentifier och får inte vara NULL.

[ @primary_id = ] primary_id UTDATA

ID för den primära databasen för loggleveranskonfigurationen. @primary_id är en OUTPUT-parameter av typen uniqueidentifier och kan inte vara NULL.

[ @backup_compression = ] backup_compression_option

Anger om en loggleveranskonfiguration använder säkerhetskopieringskomprimering.

  • 0:Handikappad. Komprimera aldrig loggsäkerhetskopior.
  • 1:Aktiverat. Komprimera alltid loggsäkerhetskopior.
  • 2 (standard): Använd standardserverkonfigurationsalternativet för säkerhetskopieringskomprimering .

[ @primary_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 primära, i form av nyckelvärdepar. @primary_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 (fel).

Resultatuppsättning

Ingen.

Anmärkningar

sp_add_log_shipping_primary_database måste köras från master databasen på den primära servern. Den här lagrade proceduren utför följande funktioner:

  1. Genererar ett primärt ID och lägger till en post för den primära databasen i tabellen log_shipping_primary_databases med hjälp av de angivna argumenten.

  2. Skapar ett säkerhetskopieringsjobb för den primära databasen som är inaktiverad.

  3. Anger säkerhetskopieringsjobbets log_shipping_primary_databases ID i posten till jobb-ID för säkerhetskopieringsjobbet.

  4. Lägger till en lokal övervakningspost i tabellen log_shipping_monitor_primary på den primära servern med hjälp av angivna argument.

  5. Om övervakningsservern skiljer sig från den primära servern sp_add_log_shipping_primary_database lägger du till en övervakningspost på log_shipping_monitor_primary övervakningsservern med hjälp av angivna argument.

Behörigheter

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

Exempel

Det här exemplet lägger till databasen AdventureWorks2022 som den primära databasen i en loggleveranskonfiguration.

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

Det här exemplet lägger till databasen AdventureWorks2022 som den primära databasen i en loggleveranskonfiguration och instruerar loggleveransen att använda de strikta krypteringsalternativen för både anslutningen till den primära instansen från loggleveransens körbara fil och från den primära instansen till fjärrövervakningsinstansen 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