共用方式為


sp_changepublication_snapshot (Transact-SQL)

適用於:SQL Server Azure SQL 受控執行個體

變更指定之發行集之 快照集代理程式 的屬性。 這個預存程式會在發行集資料庫的發行者端執行。

重要

當您使用遠端散發者設定發行者時,所有參數所提供的值,包括 @job_login@job_password,都會以純文本形式傳送給散發者。 您應該先加密「發行者」及其遠端「散發者」之間的連接,再執行這個預存程序。 如需詳細資訊,請參閱針對加密連線設定 SQL Server 資料庫引擎

Transact-SQL 語法慣例

語法

sp_changepublication_snapshot
    [ @publication = ] N'publication'
    [ , [ @frequency_type = ] frequency_type ]
    [ , [ @frequency_interval = ] frequency_interval ]
    [ , [ @frequency_subday = ] frequency_subday ]
    [ , [ @frequency_subday_interval = ] frequency_subday_interval ]
    [ , [ @frequency_relative_interval = ] frequency_relative_interval ]
    [ , [ @frequency_recurrence_factor = ] frequency_recurrence_factor ]
    [ , [ @active_start_date = ] active_start_date ]
    [ , [ @active_end_date = ] active_end_date ]
    [ , [ @active_start_time_of_day = ] active_start_time_of_day ]
    [ , [ @active_end_time_of_day = ] active_end_time_of_day ]
    [ , [ @snapshot_job_name = ] N'snapshot_job_name' ]
    [ , [ @publisher_security_mode = ] publisher_security_mode ]
    [ , [ @publisher_login = ] N'publisher_login' ]
    [ , [ @publisher_password = ] N'publisher_password' ]
    [ , [ @job_login = ] N'job_login' ]
    [ , [ @job_password = ] N'job_password' ]
    [ , [ @publisher = ] N'publisher' ]
[ ; ]

引數

[ @publication = ] N'publication'

發行集的名稱。 @publication為 sysname,沒有預設值。

[ @frequency_type = ] frequency_type

指定要排程代理程序的頻率。 @frequency_type為 int,而且可以是下列其中一個值。

Description
1 一次性
2 [視需要]
4 每日
8 每週
16 每月
32 每月相對
64 自動啟動
128 重複執行
NULL (預設值)

[ @frequency_interval = ] frequency_interval

指定代理程序執行的天數。 @frequency_interval 為 int,而且可以是下列其中一個值。

Description
1 星期日
2 星期一
3 Tuesday
4 星期三
5 Thursday
6 星期五
7 星期六
8 Day
9 平日
10 週末日
NULL (預設值)

[ @frequency_subday = ] frequency_subday

@freq_subday_interval的單位。 @frequency_subday為 int,而且可以是下列其中一個值。

Description
1 一次
2 第二個
4 Minute
8 Hour
NULL (預設值)

[ @frequency_subday_interval = ] frequency_subday_interval

@frequency_subday的間隔。 @frequency_subday_interval 為 int,預設值為 NULL

[ @frequency_relative_interval = ] frequency_relative_interval

執行 快照集代理程式 的日期。 @frequency_relative_interval為 int,預設值為 NULL

[ @frequency_recurrence_factor = ] frequency_recurrence_factor

@frequency_type所使用的週期因數。 @frequency_recurrence_factor為 int,預設值為 NULL

[ @active_start_date = ] active_start_date

第一次排程 快照集代理程式 的日期,格式為 yyyyMMdd@active_start_date為 int,預設值為 NULL

[ @active_end_date = ] active_end_date

快照集代理程式 停止排程的日期,格式為 yyyyMMdd@active_end_date為 int,預設值為 NULL

[ @active_start_time_of_day = ] active_start_time_of_day

第一次排程 快照集代理程式 的一天時間,格式為 HHmmss@active_start_time_of_day為 int,預設值為 NULL

[ @active_end_time_of_day = ] active_end_time_of_day

快照集代理程式 停止排程的時間,格式為 HHmmss@active_end_time_of_day 為 int,預設值為 NULL

[ @snapshot_job_name = ] N'snapshot_job_name'

如果使用現有的作業,則為現有 快照集代理程式 作業名稱的名稱。 @snapshot_job_name為 nvarchar(100),預設值為 NULL

[ @publisher_security_mode = ] publisher_security_mode

連接到發行者時代理程式所使用的安全性模式。 @publisher_security_mode為 int,預設值為 NULL。 必須為非 SQL Server 發行者指定 的值 0

  • 0 指定 SQL Server 驗證
  • 1指定 Windows 驗證

重要

儘可能使用 Windows 驗證。

[ @publisher_login = ] N'publisher_login'

連接到發行者時所使用的登入。 @publisher_login為 sysname,預設值為 NULL

當 @publisher_security_mode 為 0,必須指定@publisher_login。 如果 @publisher_login 為 NULL@publisher_security_mode1,則連接到發行者時會使用 @job_login 中指定的 Windows 帳戶。

[ @publisher_password = ] N'publisher_password'

連接到發行者時所使用的密碼。 @publisher_password為 sysname,預設值為 NULL

重要

請勿使用空白密碼。 請使用強式密碼。 可能的話,會在執行階段提示使用者輸入安全性認證。 如果您必須將認證儲存在指令碼檔案中,則必須維護這個檔案的安全性,使他人無法在未獲授權的情況下擅自存取。

[ @job_login = ] N'job_login'

代理程序執行所在的 Windows 帳戶登入。 @job_login為 nvarchar(257),預設值為 NULL。 此 Windows 帳戶一律用於與散發者的代理程式連線。 建立新的 快照集代理程式 作業時,您必須提供此參數。 無法變更非 SQL Server 發行者的這項功能。

[ @job_password = ] N'job_password'

代理程序執行所在的 Windows 帳戶密碼。 @job_password為 sysname 預設值為 NULL。 建立新的 快照集代理程式 作業時,您必須提供此參數。

重要

可能的話,會在執行階段提示使用者輸入安全性認證。 如果您必須將認證儲存在指令碼檔案中,則必須維護這個檔案的安全性,使他人無法在未獲授權的情況下擅自存取。

[ @publisher = ] N'publisher'

指定非 SQL Server 發行者。 @publisher為 sysname,預設值為 NULL

注意

在 SQL Server 發行者端建立 快照集代理程式 時,不應該使用@publisher

傳回碼值

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

備註

sp_changepublication_snapshot 用於快照式複寫、事務複製和合併式複寫。

權限

只有系統管理員固定伺服器角色或db_owner固定資料庫角色的成員才能執行 sp_changepublication_snapshot