sp_add_log_shipping_secondary_primary (Transact-SQL)

Gilt für:SQL Server

Richtet die primären Informationen ein, fügt Links zur lokalen und Remoteüberwachung hinzu und erstellt auf dem sekundären Server Kopier- und Wiederherstellungsaufträge für die angegebene primäre Datenbank.

Transact-SQL-Syntaxkonventionen

Syntax

sp_add_log_shipping_secondary_primary
    [ @primary_server = ] 'primary_server'
    , [ @primary_database = ] 'primary_database'
    , [ @backup_source_directory = ] N'backup_source_directory'
    , [ @backup_destination_directory = ] N'backup_destination_directory'
    , [ @copy_job_name = ] 'copy_job_name'
    , [ @restore_job_name = ] 'restore_job_name'
    [ , [ @file_retention_period = ] 'file_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' ]
    [ , [ @copy_job_id = ] 'copy_job_id' OUTPUT ]
    [ , [ @restore_job_id = ] 'restore_job_id' OUTPUT ]
    [ , [ @secondary_id = ] 'secondary_id' OUTPUT ]
[ ; ]

Argumente

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

[ @backup_source_directory = ] N'backup_source_directory'

Das Verzeichnis, in dem die Dateien der Transaktionsprotokollsicherung gespeichert werden. @backup_source_directory ist nvarchar(500) und darf nicht NULL sein.

[ @backup_destination_directory = ] N'backup_destination_directory'

Das Verzeichnis auf dem sekundären Server, in das Sicherungsdateien kopiert werden @backup_destination_directory ist nvarchar(500) und darf nicht NULL sein.

[ @copy_job_name = ] 'copy_job_name'

Der Name, der für den erstellten SQL Server-Agent Auftrag verwendet werden soll, um Transaktionsprotokollsicherungen auf den sekundären Server zu kopieren. copy_job_name ist "sysname" und darf nicht NULL sein.

[ @restore_job_name = ] 'restore_job_name'

Der Name des SQL Server-Agent Auftrags auf dem sekundären Server, mit dem die Sicherungen in der sekundären Datenbank wiederhergestellt werden. restore_job_name ist "sysname" und darf nicht NULL sein.

[ @file_retention_period = ] 'file_retention_period'

Die Zeitdauer in Minuten, die eine Sicherungsdatei auf dem sekundären Server im durch den @backup_destination_directory Parameter angegebenen Pfad aufbewahrt wird, bevor sie gelöscht werden. @history_retention_period ist int, mit einem Standardwert von NULL. Falls nichts angegeben wird, wird ein Wert von 14420 verwendet.

[ @monitor_server = ] 'monitor_server'

Der Name des Monitorservers. @monitor_server ist "sysname" ohne Standard und darf nicht NULL sein.

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

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

[ @copy_job_id = ] 'copy_job_id' OUTPUT

Die dem Kopierauftrag zugeordnete ID auf dem sekundären Server @copy_job_id ist eindeutiger Bezeichner und darf nicht NULL sein.

[ @restore_job_id = ] 'restore_job_id' OUTPUT

Die dem Wiederherstellungsauftrag zugeordnete ID auf dem sekundären Server @restore_job_id ist eindeutiger Bezeichner und darf nicht NULL sein.

[ @secondary_id = ] 'secondary_id' OUTPUT

Die ID für den sekundären Server in der Protokollversandkonfiguration. @secondary_id ist eindeutiger Bezeichner und darf nicht NULL sein.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler).

Resultset

Keine.

Hinweise

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

  1. Generiert eine sekundäre ID für den angegebenen primären Server und die primäre Datenbank.

  2. Führt Folgendes aus:

    1. Fügt einen Eintrag für die sekundäre ID hinzu, indem log_shipping_secondary die angegebenen Argumente verwendet werden.
    2. Erstellt einen Kopierauftrag für die sekundäre ID, die deaktiviert ist.
    3. Legt die Kopierauftrags-ID im log_shipping_secondary Eintrag auf die Auftrags-ID des Kopierauftrags fest.
    4. Erstellt einen Wiederherstellungsauftrag für die sekundäre ID, die deaktiviert ist.
    5. Legen Sie die Wiederherstellungsauftrags-ID im log_shipping_secondary Eintrag auf die Auftrags-ID des Wiederherstellungsauftrags fest.

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_primary gespeicherten Prozedur zum Einrichten von Informationen für die primäre Datenbank AdventureWorks2022 auf dem sekundären Server veranschaulicht.

EXEC master.dbo.sp_add_log_shipping_secondary_primary @primary_server = N'TRIBECA',
    @primary_database = N'AdventureWorks2022',
    @backup_source_directory = N'\\tribeca\LogShipping',
    @backup_destination_directory = N'',
    @copy_job_name = N'',
    @restore_job_name = N'',
    @file_retention_period = 1440,
    @monitor_server = N'ROCKAWAY',
    @monitor_server_security_mode = 1,
    @copy_job_id = @LS_Secondary__CopyJobId OUTPUT,
    @restore_job_id = @LS_Secondary__RestoreJobId OUTPUT,
    @secondary_id = @LS_Secondary__SecondaryId OUTPUT;
GO