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

请参阅

参考

sp_addpublication_snapshot (Transact-SQL)

系统存储过程 (Transact-SQL)

概念

查看和修改发布属性

更改发布和项目属性