Sdílet prostřednictvím


sp_add_log_shipping_primary_database (Transact-SQL)

platí pro:SQL Server

Nastaví primární databázi pro konfiguraci odesílání protokolů, včetně úlohy zálohování, záznamu místního monitorování a záznamu vzdáleného monitorování.

Transact-SQL konvence syntaxe

Syntaxe

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

Argumenty

[ @database = ] 'databáze'

Název primární databáze expedičního protokolu. @database je sysname, bez výchozího nastavení a nemůže být NULL.

[ @backup_directory = ] N'backup_directory'

Cesta k záložní složce na primárním serveru. @backup_directory je nvarchar(500), bez výchozího nastavení a nemůže být NULL.

[ @backup_share = ] N'backup_share'

Síťová cesta k záložnímu adresáři na primárním serveru. @backup_share je nvarchar(500), bez výchozího nastavení a nemůže být NULL.

[ @backup_job_name = ] 'backup_job_name'

Název úlohy agenta SQL Serveru na primárním serveru, který kopíruje zálohu do složky zálohování. @backup_job_name je sysname a nemůže být NULL.

[ @backup_retention_period = ] backup_retention_period

Doba uchovávání záložního souboru protokolu v adresáři zálohování na primárním serveru v minutách. @backup_retention_period je int, bez výchozího nastavení a nemůže být NULL.

[ @monitor_server = ] 'monitor_server'

Název serveru monitorování. @monitor_server je sysname, bez výchozího nastavení a nemůže být NULL.

[ @monitor_server_security_mode = ] monitor_server_security_mode

Režim zabezpečení používaný pro připojení k serveru monitorování.

  • 1: Ověřování systému Windows
  • 0: Ověřování SQL Serveru

@monitor_server_security_mode je bit s výchozím nastavením 1a nemůže být NULL.

[ @monitor_server_login = ] 'monitor_server_login'

Uživatelské jméno účtu použitého pro přístup k serveru monitorování.

[ @monitor_server_password = ] 'monitor_server_password'

Heslo účtu použitého pro přístup k serveru monitorování.

[ @backup_threshold = ] backup_threshold

Doba v minutách po posledním zálohování před vyvoláním @threshold_alert chyby. @backup_threshold je int, výchozí hodnota je 60 minut.

[ @threshold_alert = ] threshold_alert

Upozornění, které má být vyvolána při překročení prahové hodnoty zálohování. @threshold_alert je int, výchozí hodnota je 14 420.

[ @threshold_alert_enabled = ] threshold_alert_enabled

Určuje, jestli je při překročení @backup_threshold vyvolána výstraha. Výchozí hodnota nuly (0) znamená, že výstraha je zakázaná a nebude vyvolána. @threshold_alert_enabled je bit.

[ @history_retention_period = ] history_retention_period

Doba v minutách, ve které se historie uchovává. @history_retention_period je int, s výchozí hodnotou NULL. Pokud není zadána žádná hodnota 14420, použije se hodnota 14420.

[ @backup_job_id = ] backup_job_id VÝSTUP

ID úlohy agenta SQL Serveru přidružené k úloze zálohování na primárním serveru. @backup_job_id je výstupní parametr typu uniqueidentifier a nemůže být NULL.

[ @primary_id = ] primary_id VÝSTUP

ID primární databáze pro konfiguraci přesouvání protokolů. @primary_id je výstupní parametr typu uniqueidentifier a nemůže být NULL.

[ @backup_compression = ] backup_compression_option

Určuje, jestli konfigurace přesouvání protokolů používá kompresi zálohování.

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

Platí na: SQL Server 2025 (17.x) a novější verze

Určuje další možnosti připojení při připojování k primární hodnotě ve formě párů klíč-hodnota. @primary_connection_options je nvarchar(4000) a má výchozí hodnotu NULL.

V následující tabulce jsou uvedené dostupné možnosti připojení:

Key Hodnota
Encrypt strict, mandatory, optional, , truefalse
TrustServerCertificate true, false, , yesno
ServerCertificate Cesta v systému souborů k certifikátu serveru. Má maximální délku 260 znaků.
HostNameInCertificate Přepsání názvu hostitele pro certifikát Má maximální délku 255 znaků.

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

Platí na: SQL Server 2025 (17.x) a novější verze

Určuje další možnosti připojení pro připojení k propojenému serveru při použití vzdáleného monitoru ve formě párů klíč-hodnota. @monitor_connection_options je nvarchar(4000) a má výchozí hodnotu NULL.

V následující tabulce jsou uvedené dostupné možnosti připojení:

Key Hodnota
Encrypt strict, mandatory, optional, , truefalse
TrustServerCertificate true, false, , yesno
ServerCertificate Cesta v systému souborů k certifikátu serveru. Má maximální délku 260 znaků.
HostNameInCertificate Přepsání názvu hostitele pro certifikát Má maximální délku 255 znaků.

Hodnoty návratového kódu

0 (úspěch) nebo 1 (selhání).

Sada výsledků

Žádné.

Poznámky

sp_add_log_shipping_primary_database musí být spuštěna master z databáze na primárním serveru. Tato uložená procedura provádí následující funkce:

  1. Vygeneruje primární ID a přidá položku pro primární databázi v tabulce log_shipping_primary_databases pomocí zadaných argumentů.

  2. Vytvoří úlohu zálohování pro primární databázi, která je zakázaná.

  3. Nastaví ID úlohy zálohování v log_shipping_primary_databases položce na ID úlohy zálohování.

  4. Přidá záznam místního monitorování v tabulce log_shipping_monitor_primary na primárním serveru pomocí zadaných argumentů.

  5. Pokud se server monitorování liší od primárního serveru, sp_add_log_shipping_primary_database přidá záznam log_shipping_monitor_primary monitorování na serveru monitorování pomocí zadaných argumentů.

Povolení

Tento postup můžou spustit pouze členové pevné role serveru sysadmin .

Příklady

A. Přidejte primární databázi v konfiguraci pro odesílání logů

Tento příklad přidá databázi jako primární databázi AdventureWorks2025 v konfiguraci přesouvání protokolů.

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. Přidejte primární databázi s přísným šifrováním

Tento příklad přidá databázi jako primární databázi AdventureWorks2025 v konfiguraci odeslání protokolu a dává pokyn odeslání protokolu, aby používal přísné možnosti šifrování pro připojení k primární instanci ze spustitelného souboru protokolu a z primární instance do instance monitor-servervzdáleného monitorování .

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. Použijte vzdálený monitor s možností připojení

Monitorování přesouvání protokolů může přerušit, pokud je monitorování vzdálenou instancí SQL Serveru 2025 (17.x), pokud jiné instance SQL Serveru v topologii odesílání protokolů používají předchozí verzi.

Jakmile zrušíte stávající konfiguraci, použijte následující ukázkový skript k rekonstruování konfigurace logu s vhodným @monitor_connection_options, a to jak pro primární, tak sekundární repliky.

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;';

Další informace naleznete v tématu Chování šifrování a ověření certifikátu.