sys.sp_add_log_shipping_secondary_database (Transact-SQL)

Gilt für:SQL Server

Richtet eine sekundäre Datenbank für den Protokollversand ein.

Transact-SQL-Syntaxkonventionen

Syntax

sys.sp_add_log_shipping_secondary_database
    [ @secondary_database = ] N'secondary_database'
    , [ @primary_server = ] N'primary_server'
    , [ @primary_database = ] N'primary_database'
    [ , [ @restore_delay = ] restore_delay ]
    [ , [ @restore_all = ] restore_all ]
    [ , [ @restore_mode = ] restore_mode ]
    [ , [ @disconnect_users = ] disconnect_users ]
    [ , [ @block_size = ] block_size ]
    [ , [ @buffer_count = ] buffer_count ]
    [ , [ @max_transfer_size = ] max_transfer_size ]
    [ , [ @restore_threshold = ] restore_threshold ]
    [ , [ @threshold_alert = ] threshold_alert ]
    [ , [ @threshold_alert_enabled = ] threshold_alert_enabled ]
    [ , [ @history_retention_period = ] history_retention_period ]
    [ , [ @overwrite = ] overwrite ]
    [ , [ @ignoreremotemonitor = ] ignoreremotemonitor ]
[ ; ]

Argumente

[ @secondary_database = ] N'secondary_database'

Der Name der sekundären Datenbank. @secondary_database ist "sysname" ohne Standard.

[ @primary_server = ] N'primary_server'

Der Name der primären Instanz der SQL Server-Datenbank-Engine in der Protokollversandkonfiguration @primary_server ist "sysname" und kann nicht seinNULL.

[ @primary_database = ] N'primary_database'

Der Name der Datenbank auf dem primären Server. @primary_database ist "sysname" ohne Standard.

[ @restore_delay = ] restore_delay

Die Zeit in Minuten, die der sekundäre Server vor dem Wiederherstellen einer bestimmten Sicherungsdatei wartet. @restore_delay ist int und kann nicht seinNULL. Der Standardwert ist 0.

[ @restore_all = ] restore_all

Falls 1, stellt der sekundäre Server bei Ausführung des Wiederherstellungsauftrags alle verfügbaren Sicherungen des Transaktionsprotokolls wieder her. Andernfalls wird der Vorgang nach der Wiederherstellung einer Datei beendet. @restore_all ist bit und kann nicht seinNULL.

[ @restore_mode = ] restore_mode

Der Wiederherstellungsmodus für die sekundäre Datenbank.

  • 0: Protokoll wiederherstellen mit NORECOVERY
  • 1: Protokoll wiederherstellen mit STANDBY

@restore_mode ist bit und kann nicht seinNULL.

[ @disconnect_users = ] disconnect_users

Wenn diese Einstellung 1festgelegt ist, werden Die Benutzer beim Ausführen eines Wiederherstellungsvorgangs von der sekundären Datenbank getrennt. Der Standardwert ist 0. @disconnect_users ist bit und kann nicht seinNULL.

[ @block_size = ] block_size

Die Größe in Bytes, die als Blockgröße für das Sicherungsgerät verwendet wird. @block_size ist int mit dem Standardwert -1.

[ @buffer_count = ] buffer_count

Die Gesamtanzahl der beim Sicherungs- oder Wiederherstellungsvorgang verwendeten Puffer. @buffer_count ist int mit dem Standardwert -1.

[ @max_transfer_size = ] max_transfer_size

Die Größe der maximalen Eingabe- oder Ausgabeanforderung in Bytes, die von SQL Server an das Sicherungsgerät ausgegeben wird. @max_transfersize ist int und kann seinNULL.

[ @restore_threshold = ] restore_threshold

Die Anzahl der zulässigen Minuten zwischen Wiederherstellungsvorgängen, bevor eine Warnung generiert wird. @restore_threshold ist int und kann nicht seinNULL.

[ @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 @restore_threshold überschritten wird. Ein Wert von 1 (Der Standardwert) bedeutet, dass die Warnung 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.

[ @overwrite = ] überschreiben

Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.

[ @ignoreremotemonitor = ] Fernmonitor ignorieren

Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.

Rückgabecodewerte

0 (erfolgreich) oder 1 Fehler.

Resultset

Keine.

Hinweise

sp_add_log_shipping_secondary_database muss von der master Datenbank auf dem sekundären Server ausgeführt werden. Diese gespeicherte Prozedur führt folgende Aktionen aus:

  1. sp_add_log_shipping_secondary_primary sollte vor dieser gespeicherten Prozedur aufgerufen werden, um die Informationen zur primären Protokollversanddatenbank auf dem sekundären Server zu initialisieren.

  2. Fügt einen Eintrag für die sekundäre Datenbank hinzu, indem log_shipping_secondary_databases die angegebenen Argumente verwendet werden.

  3. Fügt einen lokalen Monitordatensatz log_shipping_monitor_secondary auf dem sekundären Server mithilfe der angegebenen Argumente hinzu.

  4. Wenn sich der Monitorserver vom sekundären Server unterscheidet, sp_add_log_shipping_secondary_database wird ein Monitordatensatz log_shipping_monitor_secondary 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 Verwendung der sp_add_log_shipping_secondary_database gespeicherten Prozedur veranschaulicht, um die Datenbank LogShipAdventureWorks als sekundäre Datenbank in einer Protokollversandkonfiguration hinzuzufügen, wobei sich die primäre Datenbank AdventureWorks2025 auf dem primären Server TRIBECAbefindet.

EXECUTE master.dbo.sp_add_log_shipping_secondary_database
    @secondary_database = N'LogShipAdventureWorks',
    @primary_server = N'TRIBECA',
    @primary_database = N'AdventureWorks2022',
    @restore_delay = 0,
    @restore_mode = 1,
    @disconnect_users = 0,
    @restore_threshold = 45,
    @threshold_alert_enabled = 0,
    @history_retention_period = 1440;
GO