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
: проверка подлинности Windows0
: проверка подлинности 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
базы данных на сервере-источнике. Эта хранимая процедура выполняет следующие действия:
Создает первичный идентификатор и добавляет запись для базы данных-источника в таблице
log_shipping_primary_databases
с помощью предоставленных аргументов.создает задание резервного копирования для базы данных-источника, если она отключена;
Задает идентификатор задания резервного копирования в
log_shipping_primary_databases
записи идентификатором задания резервного копирования.Добавляет запись локального монитора в таблицу
log_shipping_monitor_primary
на основном сервере с помощью предоставленных аргументов.Если сервер монитора отличается от основного сервера,
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