共用方式為


sp_changepublication_snapshot (Transact-SQL)

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

安全性注意事項安全性注意事項

當利用遠端散發者來設定發行者時,提供給所有參數的值 (包括 job_login 和 job_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'
    這是發行集的名稱。publication 是 sysname,沒有預設值。

  • [ [ @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

    星期二

    4

    星期三

    5

    星期四

    6

    星期五

    7

    星期六

    8

    9

    工作日

    10

    週末

    NULL (預設值)

     

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

    描述

    1

    一次

    2

    4

    分鐘

    8

    小時

    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 = ] '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_mode 是 1,當連接到發行者時,就會使用 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 發行者。publisher 是 sysname,預設值是 NULL。

    [!附註]

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

傳回碼值

0 (成功) 或 1 (失敗)

備註

sp_changepublication_snapshot 用於照集複寫、交易式複寫和合併式複寫中。

權限

只有系統管理員 (sysadmin) 固定伺服器角色和 db_owner 固定資料庫角色的成員,才能夠執行 sp_changepublication_snapshot