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


sp_add_log_shipping_primary_database (Transact-SQL)

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

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

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

Синтаксис

sp_add_log_shipping_primary_database
    [ @database = ] 'database'
    , [ @backup_directory = ] N'backup_directory'
    , [ @backup_share = ] N'backup_share'
    , [ @backup_job_name = ] 'backup_job_name'
    [ , [ @backup_retention_period = ] backup_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' ]
    [ , [ @backup_threshold = ] backup_threshold ]
    [ , [ @threshold_alert = ] threshold_alert ]
    [ , [ @threshold_alert_enabled = ] threshold_alert_enabled ]
    [ , [ @history_retention_period = ] history_retention_period ]
    [ , [ @backup_job_id = ] backup_job_id OUTPUT ]
    [ , [ @primary_id = ] primary_id OUTPUT ]
    [ , [ @backup_compression = ] backup_compression_option ]
[ ; ]

Аргументы

[ @database = ] 'database'

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

[ @backup_directory = ] N'backup_directory'

Путь к папке резервного копирования на основном сервере. @backup_directory является nvarchar(500), без значения по умолчанию и не может бытьNULL.

[ @backup_share = ] N'backup_share'

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

[ @backup_job_name = ] 'backup_job_name'

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

[ @backup_retention_period = ] backup_retention_period

Продолжительность хранения файла резервного копирования журнала в каталоге резервного копирования на основном сервере в минутах. @backup_retention_period является int, без значения по умолчанию и не может бытьNULL.

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

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

[ @backup_threshold = ] backup_threshold

Длительность времени в минутах после последнего резервного копирования до возникновения ошибки @threshold_alert . @backup_threshold имеет значение int с значением по умолчанию 60 минут.

[ @threshold_alert = ] threshold_alert

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

[ @threshold_alert_enabled = ] threshold_alert_enabled

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

[ @history_retention_period = ] history_retention_period

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

[ @backup_job_id = ] backup_job_id OUTPUT

Идентификатор задания агент SQL Server, связанный с заданием резервного копирования на основном сервере. @backup_job_id является параметром OUTPUT типа uniqueidentifier и не может бытьNULL.

[ @primary_id = ] primary_id OUTPUT

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

[ @backup_compression = ] backup_compression_option

Указывает, используется ли конфигурация доставки журналов сжатие резервных копий.

  • 0:Нетрудоспособный. Не сжимать резервные копии журналов.
  • 1:Включен. Всегда сжимать резервные копии журналов.
  • 2(по умолчанию): используйте параметр представления или настройте значение по умолчанию сжатия резервных копий (параметр конфигурации сервера).

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

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

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

Нет.

Замечания

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

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

  2. создает задание резервного копирования для базы данных-источника, если она отключена;

  3. Задает идентификатор задания резервного копирования в log_shipping_primary_databases записи идентификатором задания резервного копирования.

  4. Добавляет запись локального монитора в таблицу log_shipping_monitor_primary на основном сервере с помощью предоставленных аргументов.

  5. Если сервер монитора отличается от основного сервера, sp_add_log_shipping_primary_database добавляет запись монитора на log_shipping_monitor_primary сервер монитора с использованием предоставленных аргументов.

Разрешения

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

Примеры

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

DECLARE @LS_BackupJobId AS UNIQUEIDENTIFIER;
DECLARE @LS_PrimaryId AS UNIQUEIDENTIFIER;

EXEC master.dbo.sp_add_log_shipping_primary_database
    @database = N'AdventureWorks',
    @backup_directory = N'c:\lsbackup',
    @backup_share = N'\\tribeca\lsbackup',
    @backup_job_name = N'LSBackup_AdventureWorks',
    @backup_retention_period = 1440,
    @monitor_server = N'rockaway',
    @monitor_server_security_mode = 1,
    @backup_threshold = 60,
    @threshold_alert = 0,
    @threshold_alert_enabled = 0,
    @history_retention_period = 1440,
    @backup_job_id = @LS_BackupJobId OUTPUT,
    @primary_id = @LS_PrimaryId OUTPUT,
    @overwrite = 1,
    @backup_compression = 0;
GO