Поделиться через


sp_add_log_shipping_secondary_primary (Transact-SQL)

Область применения: SQL Server

Настраивает первичные данные, добавляет ссылки на локальные и удаленные мониторы, а также создает задания копирования и восстановления на сервере-получателе для указанной базы данных-источника.

Соглашения о синтаксисе Transact-SQL

Синтаксис

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

Аргументы

[ @primary_server = ] 'primary_server'

Имя экземпляра компонента SQL Server Database Engine — источника в конфигурации доставки журналов. @primary_server является sysname и не может бытьNULL.

[ @primary_database = ] 'primary_database'

Имя базы данных на сервере-источнике. @primary_database — sysname без значения по умолчанию.

[ @backup_source_directory = ] N'backup_source_directory'

Каталог, в котором хранятся файлы резервной копии журнала транзакций с сервера-источника. @backup_source_directory является nvarchar(500) и не может бытьNULL.

[ @backup_destination_directory = ] N'backup_destination_directory'

Каталог сервера-получателя, в который копируются файлы резервных копий. @backup_destination_directory является nvarchar(500) и не может бытьNULL.

[ @copy_job_name = ] 'copy_job_name'

Имя, используемое для создаваемого задания агент SQL Server для копирования резервных копий журналов транзакций на сервер-получатель. copy_job_name является sysname и не может бытьNULL.

[ @restore_job_name = ] 'restore_job_name'

Имя задания агент SQL Server на сервере-получателе, который восстанавливает резервные копии в базу данных-получатель. restore_job_name является sysname и не может бытьNULL.

[ @file_retention_period = ] 'file_retention_period'

Длительность времени( в минутах), в течение которой файл резервной копии сохраняется на вторичном сервере в пути, указанном @backup_destination_directory параметром перед удалением. @history_retention_period имеет значение int с значением по умолчаниюNULL. Если ничего не указано, используется значение 14 420.

[ @monitor_server = ] 'monitor_server'

Имя сервера монитора. @monitor_server является sysname, без значения по умолчанию и не может бытьNULL.

[ @monitor_server_security_mode = ] 'monitor_server_security_mode'

Режим безопасности, используемый для подключения к серверу мониторинга:

  • 1: проверка подлинности Windows
  • 0: проверка подлинности SQL Server

@monitor_server_security_mode бит, с значением по умолчанию 1и не может бытьNULL.

[ @monitor_server_login = ] 'monitor_server_login'

Имя пользователя учетной записи, используемой для доступа к серверу мониторинга.

[ @monitor_server_password = ] 'monitor_server_password'

Пароль учетной записи, используемой для доступа к серверу мониторинга.

[ @copy_job_id = ] "copy_job_id" OUTPUT

Идентификатор, назначенный заданию копирования на сервере-получателе. @copy_job_id является уникальным и не может бытьNULL.

[ = ] @restore_job_id "restore_job_id" OUTPUT

Идентификатор, назначенный заданию восстановления на сервере-получателе. @restore_job_id является уникальным и не может бытьNULL.

[ = ] @secondary_id "secondary_id" OUTPUT

Идентификатор сервера-получателя в конфигурации доставки журналов. @secondary_id является уникальным и не может бытьNULL.

Значения кода возврата

0 (успешно) или 1 (сбой).

Результирующий набор

Нет.

Замечания

sp_add_log_shipping_secondary_primary необходимо запустить из master базы данных на сервере-получателе. Эта хранимая процедура выполняет следующее:

  1. Формирует идентификатор получателя для указанного сервера-источника и базы данных-источника.

  2. Выполняет следующее:

    1. Добавляет запись для дополнительного идентификатора с log_shipping_secondary помощью предоставленных аргументов.
    2. создает отключенное задание копирования для идентификатора получателя;
    3. Задает идентификатор задания копирования в log_shipping_secondary записи для идентификатора задания копирования.
    4. создает отключенное задание восстановления для идентификатора получателя;
    5. Задайте идентификатор задания восстановления в log_shipping_secondary записи идентификатором задания восстановления.

Разрешения

Только члены предопределенных ролей сервера sysadmin могут выполнять эту процедуру.

Примеры

В этом примере показано использование sp_add_log_shipping_secondary_primary хранимой процедуры для настройки сведений о базе данных-источнике AdventureWorks2022 на сервере-получателе.

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