Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения: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 ]
[ , [ @primary_connection_options = ] '<key_value_pairs>;[...]' ]
[ , [ @monitor_connection_options = ] '<key_value_pairs>;[...]' ]
[ ; ]
Аргументы
[ @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 ВЫХОД
Идентификатор задания агент SQL Server, связанный с заданием резервного копирования на основном сервере.
@backup_job_id является параметром OUTPUT типа uniqueidentifier и не может бытьNULL.
[ @primary_id = ] primary_id ВЫХОД
Идентификатор базы данных-источника в конфигурации доставки журналов.
@primary_id является параметром OUTPUT типа uniqueidentifier и не может бытьNULL.
[ @backup_compression = ] backup_compression_option
Указывает, используется ли конфигурация доставки журналов сжатие резервных копий.
-
0:Нетрудоспособный. Не сжимать резервные копии журналов. -
1:Включен. Всегда сжимать резервные копии журналов. -
2(по умолчанию): используйте параметр конфигурации сервера сжатия резервных копий по умолчанию .
[ @primary_connection_options = ] '<key_value_pairs>;[ ...]'
Применимо к: SQL Server 2025 (17.x) и более поздним версиям
Задает дополнительные параметры подключения при подключении к первичному источнику в виде пар "значение ключа".
@primary_connection_options — nvarchar(4000) и имеет значение по умолчанию NULL.
В следующей таблице перечислены доступные параметры подключения:
| Key | Ценность |
|---|---|
Encrypt |
strict, , mandatoryoptional, truefalse |
TrustServerCertificate |
true
false
yes
no
|
ServerCertificate |
Путь к файловой системе к сертификату сервера. Это имеет максимальную длину 260 символов. |
HostNameInCertificate |
Переопределение имени узла для сертификата. Это имеет максимальную длину 255 символов. |
[ @monitor_connection_options = ] '<key_value_pairs>;[ ...]'
Применимо к: SQL Server 2025 (17.x) и более поздним версиям
Задает дополнительные параметры подключения для подключения связанного сервера при использовании удаленного монитора в виде пар "значение ключа".
@monitor_connection_options — nvarchar(4000) и имеет значение по умолчанию NULL.
В следующей таблице перечислены доступные параметры подключения:
| Key | Ценность |
|---|---|
Encrypt |
strict, , mandatoryoptional, truefalse |
TrustServerCertificate |
true
false
yes
no
|
ServerCertificate |
Путь к файловой системе к сертификату сервера. Это имеет максимальную длину 260 символов. |
HostNameInCertificate |
Переопределение имени узла для сертификата. Это имеет максимальную длину 255 символов. |
Значения кода возврата
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 могут выполнять эту процедуру.
Примеры
А. Добавьте первичную базу данных в конфигурации доставки журналов
В этом примере база данных AdventureWorks2025 добавляется в качестве базы данных-источника в конфигурацию доставки журналов.
DECLARE @LS_BackupJobId AS UNIQUEIDENTIFIER;
DECLARE @LS_PrimaryId AS UNIQUEIDENTIFIER;
EXECUTE master.dbo.sp_add_log_shipping_primary_database
@database = N'AdventureWorks',
@backup_directory = N'c:\lsbackup',
@backup_share = N'\\backupshare\lsbackup',
@backup_job_name = N'LSBackup_AdventureWorks',
@backup_retention_period = 1440,
@monitor_server = N'monitor-server',
@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
В. Добавить первичную базу данных с строгим шифрованием
В этом примере база данных добавляется в качестве базы данных-источника AdventureWorks2025 в конфигурации доставки журналов и указывает доставке журналов использовать строгие параметры шифрования для подключения к основному экземпляру из исполняемого файла доставки журналов и из основного экземпляра в экземпляр monitor-serverудаленного монитора.
DECLARE @LS_BackupJobId AS UNIQUEIDENTIFIER;
DECLARE @LS_PrimaryId AS UNIQUEIDENTIFIER;
EXECUTE master.dbo.sp_add_log_shipping_primary_database
@database = N'AdventureWorks',
@backup_directory = N'c:\lsbackup',
@backup_share = N'\\backupshare\lsbackup',
@backup_job_name = N'LSBackup_AdventureWorks',
@backup_retention_period = 1440,
@monitor_server = N'monitor-server',
@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,
@primary_connection_options = N'Encrypt=Strict;',
@monitor_connection_options = N'Encrypt=Strict;';
GO
С. Используйте удалённый монитор с опциями подключения
Мониторинг доставки журналов может нарушиться, если монитор является удаленным экземпляром SQL Server 2025 (17.x), если другие экземпляры SQL Server в топологии доставки журналов используют предыдущую версию.
После отказа от существующей конфигурации используйте следующий пример скрипта, чтобы воссоздать конфигурацию лог-отправки с правильным @monitor_connection_options как для основной, так и для вторичной реплики.
DECLARE @LS_BackupJobId AS UNIQUEIDENTIFIER;
DECLARE @LS_PrimaryId AS UNIQUEIDENTIFIER;
EXECUTE
master.dbo.sp_add_log_shipping_primary_database
@database = N'LogShippedDB',
@backup_directory = N'\\backupshare\lsbackup',
@backup_share = N'\\backupshare\lsbackup',
@backup_job_name = N'LSBackup_AdventureWorks',
@backup_retention_period = 4320,
@backup_compression = 2,
@monitor_server = N'LS25Monitor',
@monitor_server_security_mode = 1,
@backup_threshold = 60,
@threshold_alert_enabled = 1,
@history_retention_period = 5760,
@backup_job_id = @LS_BackupJobId OUTPUT,
@primary_id = @LS_PrimaryId OUTPUT,
@overwrite = 1,
@monitor_connection_options = N'Encrypt=Mandatory;TrustServerCertificate=Yes;';
Дополнительные сведения см. в разделе о поведении проверки шифрования и сертификата.