共用方式為


sp_add_log_shipping_secondary_primary (Transact-SQL)

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

主題連結圖示Transact-SQL 語法慣例

語法

sp_add_log_shipping_secondary_primary
 [ @primary_server = ] 'primary_server', 
[ @primary_database = ] 'primary_database',
[ @backup_source_directory = ] 'backup_source_directory' , 
[ @backup_destination_directory = ] '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'
    這是記錄傳送組態中 Microsoft SQL Server Database Engine 主要執行個體的名稱。primary_server 是 sysname,不能是 NULL。

  • [ @primary_database = ] 'primary_database'
    這是主要伺服器的資料庫名稱。primary_database 是 sysname,沒有預設值。

  • [ @backup_source_directory = ] 'backup_source_directory'
    用於儲存主要伺服器的交易記錄備份檔的目錄。backup_source_directory 是 nvarchar(500),不能是 NULL。

  • [ @backup_destination_directory = ] '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'
    這是保留記錄的時間長度 (以分鐘為單位)。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 是 bit,不能是 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 項目中的還原作業識別碼設成還原作業的作業識別碼。

權限

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

範例

這個範例說明如何利用 sp_add_log_shipping_secondary_primary 預存程序來設定次要伺服器中之主要資料庫 AdventureWorks2008R2 的資訊。

EXEC master.dbo.sp_add_log_shipping_secondary_primary 
@primary_server = N'TRIBECA' 
,@primary_database = N'AdventureWorks2008R2' 
,@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