Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Konfiguruje podstawową bazę danych na potrzeby konfiguracji wysyłania dziennika, w tym zadanie tworzenia kopii zapasowej, rekord lokalnego monitora i rekord zdalnego monitorowania.
Transact-SQL konwencje składni
Składnia
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>;[...]' ]
[ ; ]
Arguments
[ @database = ] 'baza danych'
Nazwa podstawowej bazy danych wysyłania dziennika.
@database jest nazwą systemu bez wartości domyślnej i nie może być NULL.
[ @backup_directory = ] N'backup_directory'
Ścieżka do folderu kopii zapasowej na serwerze podstawowym.
@backup_directory to nvarchar(500), bez wartości domyślnej i nie może być NULL.
[ @backup_share = ] N'backup_share'
Ścieżka sieciowa do katalogu kopii zapasowej na serwerze podstawowym.
@backup_share to nvarchar(500), bez wartości domyślnej i nie może być NULL.
[ @backup_job_name = ] 'backup_job_name'
Nazwa zadania agenta programu SQL Server na serwerze podstawowym, który kopiuje kopię zapasową do folderu kopii zapasowej.
@backup_job_name jest nazwą sysname i nie może być NULL.
[ @backup_retention_period = ] backup_retention_period
Czas przechowywania pliku kopii zapasowej dziennika w katalogu kopii zapasowej na serwerze podstawowym w minutach.
@backup_retention_period jest int, bez wartości domyślnej i nie może być NULL.
[ @monitor_server = ] 'monitor_server'
Nazwa serwera monitora.
@monitor_server jest nazwą systemu bez wartości domyślnej i nie może być NULL.
[ @monitor_server_security_mode = ] monitor_server_security_mode
Tryb zabezpieczeń używany do nawiązywania połączenia z serwerem monitora.
-
1: Uwierzytelnianie systemu Windows -
0: Uwierzytelnianie programu SQL Server
@monitor_server_security_mode jest bit, z wartością domyślną 1, a nie może być NULL.
[ @monitor_server_login = ] 'monitor_server_login'
Nazwa użytkownika konta używanego do uzyskiwania dostępu do serwera monitora.
[ @monitor_server_password = ] 'monitor_server_password'
Hasło konta używanego do uzyskiwania dostępu do serwera monitora.
[ @backup_threshold = ] backup_threshold
Czas (w minutach) po utworzeniu ostatniej kopii zapasowej przed wyświetleniem błędu @threshold_alert . @backup_threshold jest int, z wartością domyślną 60 minut.
[ @threshold_alert = ] threshold_alert
Alert, który ma zostać zgłoszony po przekroczeniu progu kopii zapasowej. @threshold_alert jest int z wartością domyślną 14 420.
[ @threshold_alert_enabled = ] threshold_alert_enabled
Określa, czy alert jest zgłaszany po przekroczeniu @backup_threshold . Wartość zero (0), wartość domyślna oznacza, że alert jest wyłączony i nie zostanie zgłoszony. @threshold_alert_enabled jest bit.
[ @history_retention_period = ] history_retention_period
Czas przechowywania historii w minutach.
@history_retention_period jest int z wartością domyślną NULL. Wartość 14420 jest używana, jeśli nie określono żadnej.
[ @backup_job_id = ] backup_job_id DANE WYJŚCIOWE
Identyfikator zadania agenta programu SQL Server skojarzony z zadaniem tworzenia kopii zapasowej na serwerze podstawowym.
@backup_job_id jest parametrem OUTPUT typu uniqueidentifier i nie może być NULL.
[ @primary_id = ] primary_id WYJŚCIE
Identyfikator podstawowej bazy danych dla konfiguracji wysyłania dziennika.
@primary_id jest parametrem OUTPUT typu uniqueidentifier i nie może być NULL.
[ @backup_compression = ] backup_compression_option
Określa, czy konfiguracja wysyłania dziennika używa kompresji kopii zapasowej.
-
0:Niepełnosprawny. Nigdy nie kompresuj kopii zapasowych dziennika. -
1:Włączone. Zawsze kompresuj kopie zapasowe dziennika. -
2(ustawienie domyślne): użyj opcji konfiguracji domyślnej serwera kompresji kopii zapasowej .
[ @primary_connection_options = ] '<key_value_pairs>;[ ...]'
Dotyczy do: SQL Server 2025 (17.x) i nowszych wersji
Określa dodatkowe opcje łączności podczas nawiązywania połączenia z podstawowymi parami wartości klucza.
@primary_connection_options to nvarchar(4000) i ma wartość domyślną NULL.
W poniższej tabeli wymieniono dostępne opcje łączności:
| Key | Wartość |
|---|---|
Encrypt |
strict, , mandatory, optional, , truefalse |
TrustServerCertificate |
true, , false, , yesno |
ServerCertificate |
Ścieżka w systemie plików do certyfikatu serwera. Ma maksymalną długość 260 znaków. |
HostNameInCertificate |
Zastąpić nazwę hosta dla certyfikatu. Ma maksymalną długość 255 znaków. |
[ @monitor_connection_options = ] '<key_value_pairs>;[ ...]'
Dotyczy do: SQL Server 2025 (17.x) i nowszych wersji
Określa dodatkowe opcje łączności dla połączenia serwera połączonego podczas korzystania z monitora zdalnego w postaci par klucz wartość.
@monitor_connection_options to nvarchar(4000) i ma wartość domyślną NULL.
W poniższej tabeli wymieniono dostępne opcje łączności:
| Key | Wartość |
|---|---|
Encrypt |
strict, , mandatory, optional, , truefalse |
TrustServerCertificate |
true, , false, , yesno |
ServerCertificate |
Ścieżka w systemie plików do certyfikatu serwera. Ma maksymalną długość 260 znaków. |
HostNameInCertificate |
Zastąpić nazwę hosta dla certyfikatu. Ma maksymalną długość 255 znaków. |
Zwracanie wartości kodu
0 (powodzenie) lub 1 (niepowodzenie).
Zestaw wyników
Żaden.
Uwagi
sp_add_log_shipping_primary_database należy uruchomić z master bazy danych na serwerze podstawowym. Ta procedura składowana wykonuje następujące funkcje:
Generuje identyfikator podstawowy i dodaje wpis dla podstawowej bazy danych w tabeli
log_shipping_primary_databasesprzy użyciu podanych argumentów.Tworzy zadanie tworzenia kopii zapasowej dla podstawowej bazy danych, która jest wyłączona.
Ustawia identyfikator zadania tworzenia kopii zapasowej we wpisie
log_shipping_primary_databasesna identyfikator zadania tworzenia kopii zapasowej.Dodaje rekord lokalnego monitora w tabeli
log_shipping_monitor_primaryna serwerze podstawowym przy użyciu podanych argumentów.Jeśli serwer monitora różni się od serwera podstawowego,
sp_add_log_shipping_primary_databasedodaje rekordlog_shipping_monitor_primarymonitora na serwerze monitora przy użyciu podanych argumentów.
Permissions
Tę procedurę mogą uruchamiać tylko członkowie stałej roli serwera sysadmin .
Przykłady
A. Dodaj podstawową bazę danych w konfiguracji wysyłania logów
W tym przykładzie baza danych jest dodana jako podstawowa baza danych AdventureWorks2025 w konfiguracji wysyłania dziennika.
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. Dodaj bazę podstawową z rygorystycznym szyfrowaniem
W tym przykładzie baza danych jest dodawała jako podstawową bazę danych AdventureWorks2025 w konfiguracji wysyłania dziennika i instruuje wysyłanie dzienników, aby korzystała ze ścisłych opcji szyfrowania zarówno dla połączenia z wystąpieniem podstawowym z pliku wykonywalnego wysyłania dziennika, jak i z wystąpienia podstawowego do wystąpienia monitor-serverzdalnego monitora.
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. Użyj zdalnego monitora z opcjami łączności
Monitorowanie wysyłki dzienników może przerwać, jeśli monitor jest zdalnym wystąpieniem programu SQL Server 2025 (17.x), gdy inne wystąpienia programu SQL Server w topologii wysyłki dziennika używają poprzedniej wersji.
Po rezygnacji z istniejącej konfiguracji użyj poniższego przykładowego skryptu, aby odtworzyć konfigurację wysyłki logów z odpowiednim @monitor_connection_options, zarówno dla repliki głównej, jak i drugoplanowej.
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;';
Aby uzyskać więcej informacji, zobacz Szyfrowanie i zachowanie weryfikacji certyfikatu.