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


sp_add_log_shipping_secondary_database (Transact-SQL)

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

Устанавливает базу данных-получателя для доставки журналов.

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

Синтаксис

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

Аргументы

[ @secondary_database = ] 'secondary_database'

Имя базы данных-получателя. @secondary_database — sysname, без значения по умолчанию.

[ @primary_server = ] 'primary_server'

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

[ @primary_database = ] 'primary_database'

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

[ @restore_delay = ] 'restore_delay'

Время ожидания (в минутах), по истечении которого сервер-получатель восстанавливает данный файл резервной копии. @restore_delay является int и не может бытьNULL. Значение по умолчанию равно 0.

[ @restore_all = ] 'restore_all'

Если значение этого аргумента равно 1, сервер-получатель восстанавливает все доступные резервные копии журналов транзакций при выполнении задания восстановления. В противном случае он останавливается после восстановления одного файла. @restore_all бит и не может бытьNULL.

[ @restore_mode = ] 'restore_mode'

Режим восстановления базы данных-получателя.

  • 0: восстановление журнала с помощью NORECOVERY
  • 1: восстановление журнала с помощью STANDBY

@restore_mode бит и не может бытьNULL.

[ @disconnect_users = ] 'disconnect_users'

Если задано значение 1, пользователи отключаются от базы данных-получателя при выполнении операции восстановления. Значение по умолчанию — 0. @disconnect_users бит и не может бытьNULL.

[ @block_size = ] 'block_size'

Размер в байтах, используемый в качестве размера блока для устройства резервного копирования. @block_size включено со значением по умолчанию -1.

[ @buffer_count = ] 'buffer_count'

Общее число буферов, используемых операцией создания резервной копии или восстановления. @buffer_count включено со значением по умолчанию -1.

[ @max_transfer_size = ] 'max_transfer_size'

Размер (в байтах) максимального входного или выходного запроса, выдаваемого SQL Server на устройство резервного копирования. @max_transfersize является int и может бытьNULL.

[ @restore_threshold = ] 'restore_threshold'

Время (в минутах), которое может пройти между операциями восстановления, прежде чем сформируется предупреждение. @restore_threshold является int и не может бытьNULL.

[ @threshold_alert = ] 'threshold_alert'

Предупреждение, создаваемое при превышении порогового значения. @threshold_alert имеет значение int с значением по умолчанию 144 420.

[ @threshold_alert_enabled = ] 'threshold_alert_enabled'

Указывает, вызывается ли оповещение при превышении @restore_threshold . Значение 1 (по умолчанию) означает, что создается оповещение. @threshold_alert_enabled бит.

[ @history_retention_period = ] '@history_retention_period'

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

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

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

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

Нет.

Замечания

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

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

  2. Добавляет запись для базы данных-получателя, log_shipping_secondary_databases используя указанные аргументы.

  3. Добавляет запись локального монитора на log_shipping_monitor_secondary сервер-получатель с помощью предоставленных аргументов.

  4. Если сервер монитора отличается от сервера-получателя, sp_add_log_shipping_secondary_database добавляет запись монитора на log_shipping_monitor_secondary сервер монитора с использованием предоставленных аргументов.

Разрешения

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

Примеры

В этом примере показано использование sp_add_log_shipping_secondary_database хранимой процедуры для добавления базы данных в качестве базы данных-получателя LogShipAdventureWorks в конфигурацию доставки журналов с базой данных-источником AdventureWorks2022 , размещенной на сервере-источнике TRIBECA.

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