分享方式:


sp_add_log_shipping_secondary_database (Transact-SQL)

適用於:SQL Server

設定次要資料庫以進行記錄傳送。

Transact-SQL 語法慣例

語法

sp_add_log_shipping_secondary_database
    [ @secondary_database = ] 'secondary_database'
    , [ @primary_server = ] 'primary_server'
    , [ @primary_database = ] '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' ]
[ ; ]

引數

[ @secondary_database = ] 'secondary_database'

輔助資料庫的名稱。 @secondary_database為 sysname,沒有預設值。

[ @primary_server = ] 'primary_server'

記錄傳送組態中 SQL Server 資料庫引擎 的主要實例名稱。 @primary_server是 sysname,不能是 NULL

[ @primary_database = ] 'primary_database'

主伺服器上的資料庫名稱。 @primary_database為 sysname,沒有預設值。

[ @restore_delay = ] 'restore_delay'

輔助伺服器在還原指定的備份檔之前等候的時間量,以分鐘為單位。 @restore_delay 為 int,且不能為 NULL。 預設值為 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,不能為 NULL

[ @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,預設值為 NULL。 如果未指定任何值,則會使用 14420 的值。

傳回碼值

0 (成功) 或 1 (失敗)。

結果集

無。

備註

sp_add_log_shipping_secondary_database 必須在輔助伺服器上從 master 資料庫執行。 此預存程式會執行下列動作:

  1. sp_add_log_shipping_secondary_primary 應該在此預存程式之前呼叫,以初始化輔助伺服器上的主要記錄傳送資料庫資訊。

  2. 使用提供的自變數,在 中 log_shipping_secondary_databases 加入輔助資料庫的專案。

  3. 使用提供的自變數,在 log_shipping_monitor_secondary 輔助伺服器上新增本機監視器記錄。

  4. 如果監視伺服器與輔助伺服器不同, sp_add_log_shipping_secondary_database 請使用提供的自變數,在 log_shipping_monitor_secondary 監視伺服器上新增監視記錄。

權限

只有系統管理員固定伺服器角色的成員才能執行此程式。

範例

此範例說明如何使用 sp_add_log_shipping_secondary_database 預存程式,在記錄傳送組態中,將資料庫 LogShipAdventureWorks 新增為輔助資料庫,而主資料庫 AdventureWorks2022 位於主伺服器上 TRIBECA

EXEC 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