sp_add_log_shipping_primary_database (Transact-SQL)
適用於:SQL Server
設定記錄傳送組態的主要資料庫,其中包括備份作業、本機監視記錄,以及遠端監視記錄。
語法
sp_add_log_shipping_primary_database
[ @database = ] 'database'
, [ @backup_directory = ] N'backup_directory'
, [ @backup_share = ] N'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 ]
[ , [ @backup_compression = ] backup_compression_option ]
[ ; ]
引數
[ @database = ] 'database'
記錄傳送主資料庫的名稱。 @database是 sysname,沒有預設值,而且不能是 NULL
。
[ @backup_directory = ] N'backup_directory'
主伺服器上的備份資料夾路徑。 @backup_directory是 nvarchar(500),沒有預設值,而且不能是 NULL
。
[ @backup_share = ] N'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
:Windows 驗證0
:SQL Server 驗證
@monitor_server_security_mode為 bit,預設值為 1
,且不可為 。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時引發警示。 默認值為零 (0),表示警示已停用且不會引發。 @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 類型的 OUTPUT 參數,不能是 NULL
。
[ @primary_id = ] primary_id OUTPUT
記錄傳送組態之主資料庫的標識碼。 @primary_id是 uniqueidentifier 類型的 OUTPUT 參數,不能是 NULL
。
[ @backup_compression = ] backup_compression_option
指定記錄傳送組態是否使用 備份壓縮。
0
:禁用。 永遠不要壓縮記錄備份。1
:啟用。 一律壓縮記錄備份。2
(預設值):使用 [檢視] 的 設定,或設定備份壓縮預設值 (伺服器組態選項) 。
傳回碼值
0
(成功) 或 1
(失敗)。
結果集
無。
備註
sp_add_log_shipping_primary_database
必須在主伺服器上從 master
資料庫執行。 此預存程式會執行下列函式:
產生主要標識碼,並使用提供的自變數,在數據表
log_shipping_primary_databases
中加入主資料庫的專案。為停用的主資料庫建立備份作業。
將專案中的
log_shipping_primary_databases
備份作業標識元設定為備份作業的作業標識碼。使用提供的自變數,在主伺服器上的數據表
log_shipping_monitor_primary
中新增本機監視器記錄。如果監視伺服器與主伺服器不同,
sp_add_log_shipping_primary_database
請使用提供的自變數在監視伺服器上新增監視記錄log_shipping_monitor_primary
。
權限
只有系統管理員固定伺服器角色的成員才能執行此程式。
範例
本範例會將資料庫 AdventureWorks2022
新增為記錄傳送組態中的主資料庫。
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,
@backup_compression = 0;
GO