Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Richtet die primäre Datenbank, einschließlich des Sicherungsauftrags sowie des lokalen und Remoteüberwachungseintrags, für eine Protokollversandkonfiguration ein.
Transact-SQL-Syntaxkonventionen
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>;[...]' ]
[ ; ]
Argumente
[ @database = ] 'Datenbank'
Der Name der primären Datenbank für den Protokollversand.
@database ist "sysname" ohne Standard und kann nicht seinNULL.
[ @backup_directory = ] N'backup_directory'
Der Pfad zum Sicherungsordner auf dem primären Server.
@backup_directory ist nvarchar(500), ohne Standard und kann nicht seinNULL.
[ @backup_share = ] N'backup_share'
Der Netzwerkpfad zum Sicherungsverzeichnis auf dem primären Server.
@backup_share ist nvarchar(500), ohne Standard und kann nicht seinNULL.
[ @backup_job_name = ] 'backup_job_name'
Der Name des SQL Server-Agent Auftrags auf dem primären Server, der die Sicherung in den Sicherungsordner kopiert.
@backup_job_name ist "sysname" und kann nicht seinNULL.
[ @backup_retention_period = ] backup_retention_period
Die Dauer der Aufbewahrung der Protokolldatei im Sicherungsverzeichnis auf dem primären Server in Minuten.
@backup_retention_period ist int, ohne Standard und kann nicht seinNULL.
[ @monitor_server = ] 'monitor_server'
Der Name des Monitorservers.
@monitor_server ist "sysname" ohne Standard und kann nicht seinNULL.
[ @monitor_server_security_mode = ] monitor_server_security_mode
Der Sicherheitsmodus, der zum Herstellen einer Verbindung mit dem Überwachungsserver verwendet wird.
-
1: Windows-Authentifizierung -
0: SQL Server-Authentifizierung
@monitor_server_security_mode ist bit, mit einem Standardwert von 1, und kann nicht seinNULL.
[ @monitor_server_login = ] 'monitor_server_login'
Der Benutzername des Kontos, das für den Zugriff auf den Monitorserver verwendet wird.
[ @monitor_server_password = ] 'monitor_server_password'
Das Kennwort des Kontos, das für den Zugriff auf den Monitorserver verwendet wird.
[ @backup_threshold = ] backup_threshold
Die Zeitdauer in Minuten nach der letzten Sicherung, bevor ein @threshold_alert Fehler ausgelöst wird. @backup_threshold ist "int" mit einer Standardeinstellung von 60 Minuten.
[ @threshold_alert = ] threshold_alert
Die Warnung, die bei Überschreiten des Sicherungsschwellenwertes ausgelöst wird. @threshold_alert ist "int" mit dem Standardwert 14.420.
[ @threshold_alert_enabled = ] threshold_alert_enabled
Gibt an, ob eine Warnung ausgelöst wird, wenn @backup_threshold überschritten wird. Der Wert null (0), der Standardwert, bedeutet, dass die Warnung deaktiviert ist und nicht ausgelöst wird. @threshold_alert_enabled ist bit.
[ @history_retention_period = ] history_retention_period
Die Zeitdauer in Minuten, in der der Verlauf beibehalten wird.
@history_retention_period ist int, mit einem Standardwert von NULL. Falls nichts angegeben wird, wird ein Wert von 14420 verwendet.
[ @backup_job_id = ] backup_job_id AUSGABE
Die SQL Server-Agent Auftrags-ID, die dem Sicherungsauftrag auf dem primären Server zugeordnet ist.
@backup_job_id ist ein OUTPUT-Parameter vom Typ uniqueidentifier und kann nicht seinNULL.
[ @primary_id = ] primary_id AUSGABE
Die ID der primären Datenbank für die Protokollversandkonfiguration.
@primary_id ist ein OUTPUT-Parameter vom Typ uniqueidentifier und kann nicht seinNULL.
[ @backup_compression = ] backup_compression_option
Gibt an, ob eine Protokollversandkonfiguration Sicherungskomprimierung verwendet.
-
0:Arbeitsunfähig. Protokollsicherungen nie komprimieren. -
1:Ermöglichte. Protokollsicherungen immer komprimieren. -
2(Standardeinstellung): Verwenden Sie die Standardkonfigurationsoption für die Sicherungskomprimierung .
[ @primary_connection_options = ] '<key_value_pairs>;[ ...]'
Gilt für: SQL Server 2025 (17.x) und spätere Versionen
Gibt zusätzliche Konnektivitätsoptionen beim Herstellen einer Verbindung mit der primären Verbindung in Form von Schlüsselwertpaaren an.
@primary_connection_options ist nvarchar(4000) und hat den Standardwert von NULL.
In der folgenden Tabelle sind die verfügbaren Konnektivitätsoptionen aufgeführt:
| Key | Wert |
|---|---|
Encrypt |
strict, , mandatoryoptional, , truefalse |
TrustServerCertificate |
true
false
yes
no
|
ServerCertificate |
Pfad im Dateisystem zum Serverzertifikat. Dies hat eine maximale Länge von 260 Zeichen. |
HostNameInCertificate |
Hostname außer Kraft setzen für das Zertifikat. Dies hat eine maximale Länge von 255 Zeichen. |
[ @monitor_connection_options = ] '<key_value_pairs>;[ ...]'
Gilt für: SQL Server 2025 (17.x) und spätere Versionen
Gibt zusätzliche Konnektivitätsoptionen für die verknüpfte Serververbindung bei Verwendung eines Remotemonitors in Form von Schlüsselwertpaaren an.
@monitor_connection_options ist nvarchar(4000) und hat den Standardwert von NULL.
In der folgenden Tabelle sind die verfügbaren Konnektivitätsoptionen aufgeführt:
| Key | Wert |
|---|---|
Encrypt |
strict, , mandatoryoptional, , truefalse |
TrustServerCertificate |
true
false
yes
no
|
ServerCertificate |
Pfad im Dateisystem zum Serverzertifikat. Dies hat eine maximale Länge von 260 Zeichen. |
HostNameInCertificate |
Hostname außer Kraft setzen für das Zertifikat. Dies hat eine maximale Länge von 255 Zeichen. |
Rückgabecodewerte
0 (erfolgreich) oder 1 Fehler.
Resultset
Keine.
Hinweise
sp_add_log_shipping_primary_database muss aus der master Datenbank auf dem primären Server ausgeführt werden. Diese gespeicherte Prozedur führt die folgenden Aktionen aus:
Generiert eine primäre ID und fügt mithilfe der angegebenen Argumente einen Eintrag für die primäre Datenbank in der Tabelle
log_shipping_primary_databaseshinzu.Erstellen eines Sicherungsauftrags für die primäre Datenbank, die deaktiviert ist.
Legt die Sicherungsauftrags-ID im
log_shipping_primary_databasesEintrag auf die Auftrags-ID des Sicherungsauftrags fest.Fügt einen lokalen Monitordatensatz in der Tabelle
log_shipping_monitor_primaryauf dem primären Server mithilfe der angegebenen Argumente hinzu.Wenn sich der Monitorserver vom primären Server unterscheidet,
sp_add_log_shipping_primary_databasewird ein Monitordatensatzlog_shipping_monitor_primaryauf dem Monitorserver mithilfe der angegebenen Argumente hinzugefügt.
Berechtigungen
Nur Mitglieder der festen Serverrolle sysadmin können diese Prozedur ausführen.
Beispiele
A. Fügen Sie eine primäre Datenbank in einer Log-Shipping-Konfiguration hinzu
In diesem Beispiel wird die AdventureWorks2025-Datenbank als primäre Datenbank in einer Protokollversandkonfiguration hinzugefügt.
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. Primäre Datenbank mit strikter Verschlüsselung hinzufügen
In diesem Beispiel wird die Datenbank als primäre Datenbank AdventureWorks2025 in einer Protokollversandkonfiguration hinzugefügt und der Protokollversand angewiesen, die strengen Verschlüsselungsoptionen sowohl für die Verbindung mit der primären Instanz aus der ausführbaren Datei des Protokollversands als auch von der primären Instanz zur Remoteüberwachungsinstanz monitor-serverzu verwenden.
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. Verwenden Sie einen Fernmonitor mit Verbindungsoptionen
Die Protokollversandüberwachung kann unterbrochen werden, wenn der Monitor eine SQL Server 2025(17.x)-Remoteinstanz ist, wenn andere SQL Server-Instanzen in der Protokollversandtopologie eine frühere Version verwenden.
Sobald du die bestehende Konfiguration entfernt hast, verwende das folgende Beispielskript, um die Log-Shipping-Konfiguration mit dem richtigen @monitor_connection_options sowohl für die primäre als auch für die sekundäre Replika neu zu erstellen.
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;';
Weitere Informationen finden Sie unter Verschlüsselungs- und Zertifikatüberprüfungsverhalten.