共用方式為


sp_add_log_shipping_primary_database (Transact-SQL)

設定記錄傳送組態的主要資料庫,其中包括備份作業、本機監視記錄,以及遠端監視記錄。

適用於:SQL Server (SQL Server 2008 至目前版本)。

主題連結圖示 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]
[, [ @backup_compression = ] backup_compression_option ] 

引數

  • [ @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 = Windows 驗證。

    0 = 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 時,是否產生警示。 預設值零 (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,且不能是 NULL。

  • [ @primary_id= ] primary_id OUTPUT
    記錄傳送組態之主要資料庫的識別碼。 primary_id 是 uniqueidentifier,且不能是 NULL。

  • [ @backup_compression= ] backup_compression_option
    指定記錄傳送設定是否會使用備份壓縮。 只有在 SQL Server 2008 Enterprise (或更新版本) 中才支援這個參數。

    0 = 已停用。 永遠不會壓縮記錄備份。

    1 = 已啟用。 一定會壓縮記錄備份。

    2 = 使用檢視或設定 backup compression default 伺服器組態選項的設定。 這是預設值。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

備註

sp_add_log_shipping_primary_database 必須從主要伺服器的 master 資料庫中執行。 這個預存程序會執行下列功能:

  1. 利用提供的引數,在 log_shipping_primary_databases 資料表中,產生主要識別碼和加入主要資料庫的項目。

  2. 為停用的主要資料庫建立備份作業。

  3. log_shipping_primary_databases 項目中的備份作業識別碼設為備份作業的作業識別碼。

  4. 利用提供的引數,在主要伺服器的 log_shipping_monitor_primary 資料表中,加入本機監視記錄。

  5. 如果監視伺服器不是主要伺服器,請利用提供的引數,在監視伺服器的 log_shipping_monitor_primary 中,加入一項監視記錄。

權限

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

範例

這個範例會在記錄傳送組態中,加入 AdventureWorks2012 資料庫來做為主要資料庫。

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

請參閱

參考

系統預存程序 (Transact-SQL)

概念

關於記錄傳送 (SQL Server)