sp_add_log_shipping_secondary_primary (Transact-SQL)
適用於:SQL Server
設定主要資訊、加入本機和遠端監視器連結,以及在次要伺服器上建立所指定主要資料庫的複製和還原作業。
語法
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 資料庫引擎 的主要實例名稱。 @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 Agent 作業的名稱,以將事務歷史記錄備份複製到輔助伺服器。 copy_job_name是 sysname,不能是 NULL
。
[ @restore_job_name = ] 'restore_job_name'
將備份還原至輔助資料庫的輔助伺服器上 SQL Server Agent 作業的名稱。 restore_job_name是 sysname,不能是 NULL
。
[ @file_retention_period = ] 'file_retention_period'
備份檔在刪除之前,參數所 @backup_destination_directory 指定路徑中的輔助伺服器上會保留備份文件的時間長度,以分鐘為單位。 @history_retention_period為 int,預設值為 NULL
。 如果未指定任何值,則會使用 14420 的值。
[ @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為 bit,預設值為 1
,且不可為 。NULL
[ @monitor_server_login = ] 'monitor_server_login'
用來存取監視伺服器的帳戶用戶名稱。
[ @monitor_server_password = ] 'monitor_server_password'
用來存取監視伺服器之帳戶的密碼。
[ @copy_job_id = ] 'copy_job_id' OUTPUT
與輔助伺服器上複製作業相關聯的標識碼。 @copy_job_id是 uniqueidentifier,而且不能是 NULL
。
[ @restore_job_id = ] 'restore_job_id' OUTPUT
與輔助伺服器上還原作業相關聯的標識碼。 @restore_job_id是 uniqueidentifier,而且不能是 NULL
。
[ @secondary_id = ] 'secondary_id' OUTPUT
記錄傳送組態中輔助伺服器的標識碼。 @secondary_id是 uniqueidentifier,而且不能是 NULL
。
傳回碼值
0
(成功) 或 1
(失敗)。
結果集
無。
備註
sp_add_log_shipping_secondary_primary
必須在輔助伺服器上從 master
資料庫執行。 此預存程式會執行下列動作:
為指定的主伺服器和主資料庫產生次要標識碼。
執行下列動作:
- 使用提供的自變數,在中
log_shipping_secondary
新增次要標識符的專案。 - 為停用的次要標識碼建立複製作業。
- 將專案中的
log_shipping_secondary
複製作業識別元設定為複製作業的作業標識碼。 - 為停用的次要標識碼建立還原作業。
- 將專案中的
log_shipping_secondary
還原作業標識碼設定為還原作業的作業標識碼。
- 使用提供的自變數,在中
權限
只有系統管理員固定伺服器角色的成員才能執行此程式。
範例
此範例說明如何使用 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