sp_add_log_shipping_secondary_primary (Transact-SQL)

適用於:SQL Server

設定主要資訊、加入本機和遠端監視器連結,以及在次要伺服器上建立所指定主要資料庫的複製和還原作業。

Transact-SQL 語法慣例

語法

sp_add_log_shipping_secondary_primary
    [ @primary_server = ] 'primary_server'
    , [ @primary_database = ] 'primary_database'
    , [ @backup_source_directory = ] N'backup_source_directory'
    , [ @backup_destination_directory = ] N'backup_destination_directory'
    , [ @copy_job_name = ] 'copy_job_name'
    , [ @restore_job_name = ] 'restore_job_name'
    [ , [ @file_retention_period = ] 'file_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' ]
    [ , [ @copy_job_id = ] 'copy_job_id' OUTPUT ]
    [ , [ @restore_job_id = ] 'restore_job_id' OUTPUT ]
    [ , [ @secondary_id = ] 'secondary_id' OUTPUT ]
[ ; ]

引數

[ @primary_server = ] 'primary_server'

記錄傳送組態中 SQL Server 資料庫引擎 的主要實例名稱。 @primary_server是 sysname,不能是 NULL。

[ @primary_database = ] 'primary_database'

主伺服器上的資料庫名稱。 @primary_database為 sysname,沒有預設值。

[ @backup_source_directory = ] N'backup_source_directory'

儲存主伺服器的事務歷史記錄備份檔所在的目錄。 @backup_source_directory是 nvarchar(500),不能是 NULL。

[ @backup_destination_directory = ] N'backup_destination_directory'

複製到備份檔之輔助伺服器上的目錄。 @backup_destination_directory是 nvarchar(500),而且不能是 NULL。

[ @copy_job_name = ] 'copy_job_name'

要用於建立 SQL Server Agent 作業的名稱,以將事務歷史記錄備份複製到輔助伺服器。 copy_job_name是 sysname,而且不能是 NULL。

[ @restore_job_name = ] 'restore_job_name'

將備份還原至輔助資料庫的輔助伺服器上 SQL Server Agent 作業的名稱。 restore_job_name是 sysname,不能是 NULL。

[ @file_retention_period = ] 'file_retention_period'

備份檔在刪除之前,參數所 @backup_destination_directory 指定路徑中的輔助伺服器上會保留備份文件的時間長度,以分鐘為單位。 @history_retention_period為 int,預設值為 NULL。 如果未指定任何值,則會使用 14420 的值。

[ @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是位,預設值1,而且不能是 NULL。

[ @monitor_server_login = ] 'monitor_server_login'

用來存取監視伺服器的帳戶用戶名稱。

[ @monitor_server_password = ] 'monitor_server_password'

用來存取監視伺服器之帳戶的密碼。

[ @copy_job_id = ] 'copy_job_id' OUTPUT

與輔助伺服器上複製作業相關聯的標識碼。 @copy_job_id是 uniqueidentifier,而且不能是 NULL。

[ @restore_job_id = ] 'restore_job_id' OUTPUT

與輔助伺服器上還原作業相關聯的標識碼。 @restore_job_id是 uniqueidentifier,而且不能是 NULL。

[ @secondary_id = ] 'secondary_id' OUTPUT

記錄傳送組態中輔助伺服器的標識碼。 @secondary_id是 uniqueidentifier,而且不能是 NULL。

傳回碼值

0 (成功)或 1 (失敗)。

結果集

無。

備註

sp_add_log_shipping_secondary_primary 必須在輔助伺服器上從 master 資料庫執行。 此預存程式會執行下列動作:

  1. 為指定的主伺服器和主資料庫產生次要標識碼。

  2. 執行下列動作:

    1. 使用提供的自變數,在中 log_shipping_secondary 新增次要標識符的專案。
    2. 為停用的次要標識碼建立複製作業。
    3. 將專案中的 log_shipping_secondary 複製作業識別元設定為複製作業的作業標識碼。
    4. 為停用的次要標識碼建立還原作業。
    5. 將專案中的 log_shipping_secondary 還原作業標識碼設定為還原作業的作業標識碼。

權限

只有系統管理員固定伺服器角色的成員才能執行此程式。

範例

此範例說明如何使用 sp_add_log_shipping_secondary_primary 預存程式來設定輔助伺服器上主資料庫 AdventureWorks2022 的資訊。

EXEC master.dbo.sp_add_log_shipping_secondary_primary @primary_server = N'TRIBECA',
    @primary_database = N'AdventureWorks2022',
    @backup_source_directory = N'\\tribeca\LogShipping',
    @backup_destination_directory = N'',
    @copy_job_name = N'',
    @restore_job_name = N'',
    @file_retention_period = 1440,
    @monitor_server = N'ROCKAWAY',
    @monitor_server_security_mode = 1,
    @copy_job_id = @LS_Secondary__CopyJobId OUTPUT,
    @restore_job_id = @LS_Secondary__RestoreJobId OUTPUT,
    @secondary_id = @LS_Secondary__SecondaryId OUTPUT;
GO