sp_change_log_shipping_primary_database (Transact-SQL)

適用於:SQL Server

變更主資料庫設定。

Transact-SQL 語法慣例

語法

sp_change_log_shipping_primary_database
    [ @database = ] 'database'
    [ , [ @backup_directory = ] N'backup_directory' ]
    [ , [ @backup_share = ] N'backup_share' ]
    [ , [ @backup_retention_period = ] 'backup_retention_period' ]
    [ , [ @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_compression = ] backup_compression_option ]
[ ; ]

引數

[ @database = ] 'database'

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

[ @backup_directory = ] N'backup_directory'

主伺服器上的備份資料夾路徑。 @backup_directory是 nvarchar(500),沒有預設值,而且不能是 NULL。

[ @backup_share = ] N'backup_share'

主伺服器上的備份目錄網路路徑。 @backup_share是 nvarchar(500),沒有預設值,而且不能是 NULL。

[ @backup_retention_period = ] 'backup_retention_period'

在主伺服器上的備份目錄中保留記錄備份文件的時間長度,以分鐘為單位。 @backup_retention_period為 int,沒有預設值,而且不能是 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 且不能為 NULL。

[ @threshold_alert_enabled = ] 'threshold_alert_enabled'

指定是否在超過@backup_threshold引發警示。

  • 1:啟用
  • 0:禁用

threshold_alert_enabled為 bit 且不能為 NULL。

[ @history_retention_period = ] 'history_retention_period'

保留歷程記錄的分鐘數長度。 @history_retention_period為 int。如果未指定任何值,則會使用 14420 的值。

[ @backup_compression = ] backup_compression_option

指定記錄傳送組態是否使用 備份壓縮。 SQL Server 2008 Enterprise 版本支援此參數(10.0.x)(及更新版本),以及 SQL Server 2016 (13.x) 上所有版本與 Service Pack 1(及更新版本)。

  • 0:禁用。 永不壓縮記錄備份

  • 1:啟用。 一律壓縮記錄備份

  • 2 (預設值):使用檢視或設定備份壓縮預設伺服器組態選項的 設定

傳回碼值

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

結果集

無。

備註

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

  1. 視需要變更記錄中的 log_shipping_primary_database 設定。

  2. 必要時,使用提供的自變數,在主伺服器上變更 中的本機記錄 log_shipping_monitor_primary

  3. 如果監視伺服器與主伺服器不同,則視需要使用提供的自變數在 log_shipping_monitor_primary 監視伺服器上變更記錄。

權限

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

範例

此範例說明如何使用 sp_change_log_shipping_primary_database 來更新與主資料庫 AdventureWorks2022相關聯的設定。

EXEC master.dbo.sp_change_log_shipping_primary_database
    @database = N'AdventureWorks',
    @backup_directory = N'c:\LogShipping',
    @backup_share = N'\\tribeca\LogShipping',
    @backup_retention_period = 1440,
    @backup_threshold = 60,
    @threshold_alert = 0,
    @threshold_alert_enabled = 1,
    @history_retention_period = 1440,
    @monitor_server_security_mode = 1,
    @backup_compression = 1;