sp_changepublication_snapshot (Transact-SQL)

適用於:SQL ServerAzure SQL 受控執行個體

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

重要

當利用遠端散發者來設定發行者時,提供給所有參數的值 (包括 job_loginjob_password) 都會以純文字的方式傳給散發者。 您應該先加密「發行者」及其遠端「散發者」之間的連接,再執行這個預存程序。 如需詳細資訊,請參閱啟用資料庫引擎的加密連線 (SQL Server 組態管理員)

Transact-SQL 語法慣例

語法

  
sp_changepublication_snapshot [ @publication= ] '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 = ] 'snapshot_agent_name' ]  
    [ , [ @publisher_security_mode = ] publisher_security_mode ]  
    [ , [ @publisher_login = ] 'publisher_login' ]  
    [ , [ @publisher_password = ] 'publisher_password' ]   
    [ , [ @job_login = ] 'job_login' ]  
    [ , [ @job_password = ] 'job_password' ]  
    [ , [ @publisher = ] 'publisher' ]  

引數

[ @publication = ] 'publication' 這是發行集的名稱。 publicationsysname,沒有預設值。

[ @frequency_type = ] frequency_type 這是排程代理程序的頻率。 frequency_type為 int,而且可以是下列其中一個值。

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

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

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

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

名稱
1 一次
2 Second
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這是第一次排程 快照集代理程式 的日期,格式為 yyyyMMddactive_start_date為 int,預設值為 NULL。

[ @active_end_date = ] active_end_date這是 快照集代理程式 停止排程的日期,格式為 yyyyMMddactive_end_date為 int,預設值為 NULL。

[ @active_start_time_of_day = ] active_start_time_of_day這是第一次排程 快照集代理程式 的一天時間,格式為 HHmmssactive_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 = ] 'snapshot_agent_name'這是使用現有作業時現有 快照集代理程式 作業名稱的名稱。 snapshot_agent_name為 nvarchar(100),預設值為 NULL。

[ @publisher_security_mode = ] publisher_security_mode 這是連接到發行者時代理程式所使用的安全性模式。 publisher_security_mode為 smallint,預設值為 NULL。 0 指定 SQL Server 驗證, 1 指定 Windows 驗證。 非 SQL Server 發行者必須指定 0 的值

重要

儘可能使用 Windows 驗證。

[ @publisher_login = ] 'publisher_login' 這是連接到發行者時所使用的登入。 publisher_login為 sysname,預設值為 NULL。 當 publisher_security_mode 為 0,必須指定publisher_login。 如果publisher_login為 NULL,且publisher_security_mode1,則連接到發行者時會使用job_login中指定的 Windows 帳戶。

[ @publisher_password = ] 'publisher_password' 這是連接到發行者時所使用的密碼。 publisher_password為 sysname,預設值為 NULL。

重要

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

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

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

重要

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

[ @publisher = ] 'publisher' 指定非 SQL Server 發行者。 publishersysname,預設值為 NULL。

注意

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

傳回碼值

0 (成功) 或 1 (失敗)

備註

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

權限

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

另請參閱

檢視和修改發行集屬性
變更發行集與發行項屬性
sp_addpublication_snapshot (Transact-SQL)
系統預存程序 (Transact-SQL)