sp_add_log_shipping_primary_database (Transact-SQL)
設定記錄傳送組態的主要資料庫,其中包括備份作業、本機監視記錄,以及遠端監視記錄。
語法
sp_add_log_shipping_primary_database [ @database = ] 'database',
[ @backup_directory = ] 'backup_directory',
[ @backup_share = ] 'backup_share',
[ @backup_job_name = ] 'backup_job_name'
[, [ @backup_retention_period = ] backup_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']
[, [ @backup_threshold = ] backup_threshold ]
[, [ @threshold_alert = ] threshold_alert ]
[, [ @threshold_alert_enabled = ] threshold_alert_enabled ]
[, [ @history_retention_period = ] history_retention_period ]
[, [ @backup_job_id = ] backup_job_id OUTPUT ]
[, [ @primary_id = ] primary_id OUTPUT]
引數
- [ @database = ] 'database'
這是記錄傳送主要資料庫的名稱。database 是 sysname,沒有預設值,且不能是 NULL。
- [ @backup_directory = ] 'backup_directory'
這是主要伺服器備份資料夾的路徑。backup_directory 是 nvarchar(500),沒有預設值,不能是 NULL。
- [ @backup_share = ] 'backup_share'
是主要伺服器備份目錄的網路路徑。backup_share 是 nvarchar(500),沒有預設值,不能是 NULL。
- [ @backup_job_name = ] 'backup_job_name'
這是將備份複製到備份資料夾之主要伺服器中的 SQL Server Agent 作業名稱。backup_job_name 是 sysname,不能是 NULL。
- [ @backup_retention_period = ] backup_retention_period
這是將記錄備份檔儲存在主要伺服器備份目錄中的時間長度 (以分鐘為單位)。backup_retention_period 是 int,沒有預設值,而且不能是 NULL。
- [ @monitor_server = ] 'monitor_server'
這是監視伺服器的名稱。Monitor_server 是 sysname,沒有預設值,不能是 NULL。
[ @monitor_server_security_mode = ] monitor_server_security_mode
用來連接到監視伺服器的安全性模式。1 = Microsoft Windows 驗證。
0 = Microsoft SQL Server 驗證。monitor_server_security_mode 是 bit,不能是 NULL。
- [ @monitor_server_login = ] 'monitor_server_login'
這是用來存取監視伺服器之帳戶的使用者名稱。
- [ @monitor_server_password = ] 'monitor_server_password'
這是用來存取監視伺服器之帳戶的密碼。
- [ @backup_threshold = ] backup_threshold
這是前次備份之後到產生 threshold_alert 錯誤之前的時間長度 (以分鐘為單位)。backup_threshold 是 int,預設值是 60 分。
- [ @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。
- [ @backup_job_id = ] backup_job_id OUTPUT
主要伺服器的備份作業之相關 SQL Server Agent 作業識別碼。backup_job_id 是 uniqueidentifier,不能是 NULL。
- [ @primary_id = ] primary_id OUTPUT
記錄傳送組態之主要資料庫的識別碼。primary_id 是 uniqueidentifier,不能是 NULL。
傳回碼值
0 (成功) 或 1 (失敗)
結果集
無
備註
sp_add_log_shipping_primary_database 必須從主要伺服器的 master 資料庫中執行。這個預存程序會執行下列功能:
- 利用提供的引數,在 log_shipping_primary_databases 資料表中,產生主要識別碼和加入主要資料庫的項目。
- 建立停用的主要資料庫的備份作業。
- 將 log_shipping_primary_databases 項目中的備份作業識別碼設為備份作業的作業識別碼。
- 利用提供的引數,在主要伺服器的 log_shipping_monitor_primary 資料表中,加入本機監視記錄。
- 如果監視伺服器不是主要伺服器,請利用提供的引數,在監視伺服器的 log_shipping_monitor_primary 中,加入一項監視記錄。
權限
只有系統管理員 (sysadmin) 固定伺服器角色的成員,才能夠執行這個程序。
範例
這個範例會在記錄傳送組態中,加入 AdventureWorks 資料庫來作為主要資料庫。
DECLARE @LS_BackupJobId AS uniqueidentifier
DECLARE @LS_PrimaryId AS uniqueidentifier
EXEC master.dbo.sp_add_log_shipping_primary_database
@database = N'AdventureWorks'
,@backup_directory = N'c:\lsbackup'
,@backup_share = N'\\tribeca\lsbackup'
,@backup_job_name = N'LSBackup_AdventureWorks'
,@backup_retention_period = 1440
,@monitor_server = N'rockaway'
,@monitor_server_security_mode = 1
,@backup_threshold = 60
,@threshold_alert = 0
,@threshold_alert_enabled = 0
,@history_retention_period = 1440
,@backup_job_id = @LS_BackupJobId OUTPUT
,@primary_id = @LS_PrimaryId OUTPUT
,@overwrite = 1
GO