適用於:SQL Server
變更主資料庫設定。
語法
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 ]
[ , [ @monitor_connection_options = ] '<key_value_pairs>;[...]' ]
[ ; ]
引數
[ @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 是位,預設為 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位且不能為 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(預設值):使用 備份壓縮預設 伺服器組態選項。
[ @monitor_connection_options = ] '<key_value_pairs>;[......]'
適用於:SQL Server 2025(17.x)及更新版本
在使用遠端監視器時,以索引鍵值組的形式指定連結伺服器連線的其他連線選項。
@monitor_connection_options 是 nvarchar(4000), 預設值為 NULL。
下表列出可用的連線選項:
Key |
Value |
|---|---|
Encrypt |
strict、mandatory、optional、true、false |
TrustServerCertificate |
true、false、yes、no |
ServerCertificate |
檔案系統上伺服器憑證的路徑。 其長度上限為 260 個字元。 |
HostNameInCertificate |
憑證的主機名稱覆寫。 其長度上限為 255 個字元。 |
傳回碼值
0 (成功) 或 1 (失敗)。
結果集
無。
備註
sp_change_log_shipping_primary_database 必須在主伺服器上從 master 資料庫執行。 此預存程式會執行下列動作:
視需要變更記錄中的
log_shipping_primary_database設定。必要時,使用提供的自變數,在主伺服器上變更 中的本機記錄
log_shipping_monitor_primary。如果監視伺服器與主伺服器不同,則視需要使用提供的自變數在
log_shipping_monitor_primary監視伺服器上變更記錄。
權限
只有系統管理員固定伺服器角色的成員才能執行此程式。
範例
此範例說明如何使用 sp_change_log_shipping_primary_database 來更新與主資料庫 AdventureWorks2025相關聯的設定。
EXECUTE 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;