sp_add_log_shipping_primary_database (Transact-SQL)

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

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 OUTPUT

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 OUTPUT

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.

Rückgabecodewerte

0 (Erfolg) 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:

  1. 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_databases hinzu.

  2. Erstellen eines Sicherungsauftrags für die primäre Datenbank, die deaktiviert ist.

  3. Legt die Sicherungsauftrags-ID im log_shipping_primary_databases Eintrag auf die Auftrags-ID des Sicherungsauftrags fest.

  4. Fügt einen lokalen Monitordatensatz in der Tabelle log_shipping_monitor_primary auf dem primären Server mithilfe der angegebenen Argumente hinzu.

  5. Wenn sich der Monitorserver vom primären Server unterscheidet, sp_add_log_shipping_primary_database wird ein Monitordatensatz log_shipping_monitor_primary auf dem Monitorserver mithilfe der angegebenen Argumente hinzugefügt.

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin können diese Prozedur ausführen.

Beispiele

In diesem Beispiel wird die AdventureWorks2022-Datenbank als primäre Datenbank in einer Protokollversandkonfiguration hinzugefügt.

DECLARE @LS_BackupJobId AS UNIQUEIDENTIFIER;
DECLARE @LS_PrimaryId AS UNIQUEIDENTIFIER;

EXEC master.dbo.sp_add_log_shipping_primary_database
    @database = N'AdventureWorks',
    @backup_directory = N'c:\lsbackup',
    @backup_share = N'\\tribeca\lsbackup',
    @backup_job_name = N'LSBackup_AdventureWorks',
    @backup_retention_period = 1440,
    @monitor_server = N'rockaway',
    @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