Share via


sp_add_log_shipping_secondary_database (Transact-SQL)

設定記錄傳送的次要資料庫。

主題連結圖示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'
    這是記錄傳送組態中 Microsoft SQL Server Database Engine 主要執行個體的名稱。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 是 bit,不能是 NULL。

  • [ @restore_mode = ] 'restore_mode'
    次要資料庫的還原模式。

    0 = 以 NORECOVERY 來還原記錄。

    1 = 以 STANDBY 來還原記錄。

    restore 是 bit,不能是 NULL。

  • [ @disconnect_users = ] 'disconnect_users'
    如果設為 1,當執行還原作業時,會從次要資料庫中斷使用者的連接。預設值 = 0。disconnect 使用者是 bit,不能是 NULL。

  • [ @block_size = ] 'block_size'
    用來作為備份裝置區塊大小的大小 (以位元組為單位)。block_size 是 int,預設值是 -1。

  • [ @buffer_count = ] 'buffer_count'
    備份或還原作業所用的緩衝區總數。buffer_count 是 int,預設值是 -1。

  • [ @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'
    指定在超出 backup_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. 如果監視伺服器不是次要伺服器,請利用提供的引數,在監視伺服器的 log_shipping_monitor_secondary 中,加入一項監視記錄。

權限

只有系統管理員 (sysadmin) 固定伺服器角色的成員才能夠執行這個程序。

範例

這個範例說明如何利用 sp_add_log_shipping_secondary_database 預存程序,在主要伺服器 TRIBECA 有主要資料庫 AdventureWorks2008R2 的記錄傳送組態中加入 LogShipAdventureWorks2008R2 資料庫,使它成為次要資料庫。

EXEC master.dbo.sp_add_log_shipping_secondary_database 
@secondary_database = N'LogShipAdventureWorks2008R2' 
,@primary_server = N'TRIBECA' 
,@primary_database = N'AdventureWorks2008R2' 
,@restore_delay = 0 
,@restore_mode = 1 
,@disconnect_users = 0 
,@restore_threshold = 45   
,@threshold_alert_enabled = 0 
,@history_retention_period = 1440 
GO