sp_add_log_shipping_secondary_primary (Transact-SQL)
設定主要資訊,加入本機和遠端監視連結,以及在次要伺服器上,建立指定主要資料庫的複製及還原作業。
語法
sp_add_log_shipping_secondary_primary
[ @primary_server = ] 'primary_server',
[ @primary_database = ] 'primary_database',
[ @backup_source_directory = ] 'backup_source_directory' ,
[ @backup_destination_directory = ] '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'
這是記錄傳送組態中 Microsoft SQL Server Database Engine 主要執行個體的名稱。primary_server 是 sysname,不能是 NULL。
- [ @primary_database = ] 'primary_database'
這是主要伺服器的資料庫名稱。primary_database 是 sysname,沒有預設值。
- [ @backup_source_directory = ] 'backup_source_directory'
用來儲存主要伺服器的交易記錄備份檔的目錄。backup_source_directory 是 nvarchar(500),不能是 NULL。
- [ @backup_destination_directory = ] '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'
這是保留歷程記錄的時間長度 (以分鐘為單位)。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,不能是 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 項目中的還原作業識別碼設成還原作業的作業識別碼。
權限
只有系統管理員 (sysadmin) 固定伺服器角色的成員,才能夠執行這個程序。
範例
這個範例說明如何利用 sp_add_log_shipping_secondary_primary 預存程序來設定次要伺服器中之主要資料庫 AdventureWorks 的資訊。
EXEC master.dbo.sp_add_log_shipping_secondary_primary
@primary_server = N'TRIBECA'
,@primary_database = N'AdventureWorks'
,@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