sp_add_log_shipping_secondary_database (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 資料庫中執行。這個預存程序會執行下列動作:
- sp_add_log_shipping_secondary_primary 應該在這個預存程序之前呼叫,以初始化次要伺服器的主要記錄傳送資料庫資訊。
- 利用提供的引數,在 log_shipping_secondary_databases 中加入次要資料庫的項目。
- 利用提供的引數,在次要伺服器的 log_shipping_monitor_secondary 中,加入本機監視記錄。
- 如果監視伺服器不是次要伺服器,請利用提供的引數,在監視伺服器的 log_shipping_monitor_secondary 中,加入一項監視記錄。
權限
只有系統管理員 (sysadmin) 固定伺服器角色的成員,才能夠執行這個程序。
範例
這個範例說明如何利用 sp_add_log_shipping_secondary_database 預存程序,在主要伺服器 TRIBECA 有主要資料庫 AdventureWorks 的記錄傳送組態中,加入 LogShipAdventureWorks 資料庫,使它成為次要資料庫。
EXEC master.dbo.sp_add_log_shipping_secondary_database
@secondary_database = N'LogShipAdventureWorks'
,@primary_server = N'TRIBECA'
,@primary_database = N'AdventureWorks'
,@restore_delay = 0
,@restore_mode = 1
,@disconnect_users = 0
,@restore_threshold = 45
,@threshold_alert_enabled = 0
,@history_retention_period = 1440
GO