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

sp_add_log_shipping_secondary_database
    [ @secondary_database = ] 'secondary_database'
    , [ @primary_server = ] 'primary_server'
    , [ @primary_database = ] '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' ]
[ ; ]

Argumente

[ @secondary_database = ] 'secondary_database'

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

[ @primary_server = ] 'primary_server'

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

[ @primary_database = ] '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 NULL sein. 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 NULL sein.

[ @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 NULL sein.

[ @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 NULL sein.

[ @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 NULL sein.

[ @restore_threshold = ] 'restore_threshold'

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

[ @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.

Rückgabecodewerte

0 (Erfolg) 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 AdventureWorks2022 auf dem primären Server TRIBECAbefindet.

EXEC 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