適用於:SQL Server
設定次要資料庫以進行記錄傳送。
語法
sys.sp_add_log_shipping_secondary_database
[ @secondary_database = ] N'secondary_database'
, [ @primary_server = ] N'primary_server'
, [ @primary_database = ] N'primary_database'
[ , [ @restore_delay = ] restore_delay ]
[ , [ @restore_all = ] restore_all ]
[ , [ @restore_mode = ] restore_mode ]
[ , [ @disconnect_users = ] disconnect_users ]
[ , [ @block_size = ] block_size ]
[ , [ @buffer_count = ] buffer_count ]
[ , [ @max_transfer_size = ] max_transfer_size ]
[ , [ @restore_threshold = ] restore_threshold ]
[ , [ @threshold_alert = ] threshold_alert ]
[ , [ @threshold_alert_enabled = ] threshold_alert_enabled ]
[ , [ @history_retention_period = ] history_retention_period ]
[ , [ @overwrite = ] overwrite ]
[ , [ @ignoreremotemonitor = ] ignoreremotemonitor ]
[ ; ]
引數
[ @secondary_database = ] N'secondary_database'
輔助資料庫的名稱。 @secondary_database為 sysname,沒有預設值。
[ @primary_server = ] N'primary_server'
記錄傳送組態中 SQL Server 資料庫引擎 的主要實例名稱。
@primary_server是 sysname,不能是 NULL。
[ @primary_database = ] N'primary_database'
主伺服器上的資料庫名稱。 @primary_database為 sysname,沒有預設值。
[ @restore_delay = ] restore_delay
輔助伺服器在還原指定的備份檔之前等候的時間量,以分鐘為單位。 @restore_delay 為 int。 預設值為 0。
[ @restore_all = ] restore_all
如果設定為 1,當還原作業執行時,輔助伺服器會還原所有可用的事務歷史記錄備份。 否則,它會在還原一個檔案之後停止。
@restore_all位且不能為 NULL。
[ @restore_mode = ] restore_mode
輔助資料庫的還原模式。
-
0:使用 還原記錄檔NORECOVERY -
1:使用 還原記錄檔STANDBY
@restore_mode位且不能為 NULL。
[ @disconnect_users = ] disconnect_users
如果設定為 1,則執行還原作業時,用戶會中斷與輔助資料庫的連線。 預設值為 0。
@disconnect_users位且不能為 NULL。
[ @block_size = ] block_size
大小,以位元組為單位,用來作為備份裝置的區塊大小。 @block_size為 -1 的預設值為 int。
[ @buffer_count = ] buffer_count
備份或還原作業所使用的緩衝區總數。 @buffer_count為 -1 的預設值為 int。
[ @max_transfer_size = ] max_transfer_size
SQL Server 對備份裝置發出的最大輸入或輸出要求大小,以位元組為單位。
@max_transfersize 為 int 且可以是 NULL。
[ @restore_threshold = ] restore_threshold
在產生警示之前,允許在還原作業之間經過的分鐘數。 @restore_threshold為 int。
[ @threshold_alert = ] threshold_alert
超過備份閾值時要引發的警示。 @threshold_alert為 int,預設值為 14,420。
[ @threshold_alert_enabled = ] threshold_alert_enabled
指定是否在超過@restore_threshold時引發警示。 值 1 (預設值) 表示會引發警示。
@threshold_alert_enabled為 bit。
[ @history_retention_period = ] history_retention_period
保留歷程記錄的分鐘數長度。 @history_retention_period為 int。 如果未指定任何值,則會使用 14420 的值。
[ @overwrite = ] 覆寫
僅供參考之用。 不支援。 我們無法保證未來的相容性。
[ @ignoreremotemonitor = ] 忽略遙距監視器
僅供參考之用。 不支援。 我們無法保證未來的相容性。
傳回碼值
0 (成功) 或 1 (失敗)。
結果集
無。
備註
sp_add_log_shipping_secondary_database 必須在輔助伺服器上從 master 資料庫執行。 此預存程式會執行下列動作:
sp_add_log_shipping_secondary_primary應該在此預存程式之前呼叫,以初始化輔助伺服器上的主要記錄傳送資料庫資訊。使用提供的自變數,在 中
log_shipping_secondary_databases加入輔助資料庫的專案。使用提供的自變數,在
log_shipping_monitor_secondary輔助伺服器上新增本機監視器記錄。如果監視伺服器與輔助伺服器不同,
sp_add_log_shipping_secondary_database請使用提供的自變數,在log_shipping_monitor_secondary監視伺服器上新增監視記錄。
權限
只有系統管理員固定伺服器角色的成員才能執行此程式。
範例
此範例說明如何使用 sp_add_log_shipping_secondary_database 預存程式,在記錄傳送組態中,將資料庫 LogShipAdventureWorks 新增為輔助資料庫,而主資料庫 AdventureWorks2025 位於主伺服器上 TRIBECA。
EXECUTE master.dbo.sp_add_log_shipping_secondary_database
@secondary_database = N'LogShipAdventureWorks',
@primary_server = N'TRIBECA',
@primary_database = N'AdventureWorks2022',
@restore_delay = 0,
@restore_mode = 1,
@disconnect_users = 0,
@restore_threshold = 45,
@threshold_alert_enabled = 0,
@history_retention_period = 1440;
GO