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 星期二
4 星期三
5 星期四
6 星期五
7 星期六
8
9 工作日
10 周末
NULL(默认值)

[ @frequency_subday = ] frequency_subdayfreq_subday_interval的单位 frequency_subday为 int,可以是其中一个值。

说明
1 一次
2 Second
4 Minute
8 小时
NULL(默认值)

[ @frequency_subday_interval = ] frequency_subday_intervalfrequency_subday间隔。 frequency_subday_interval为 int,默认值为 NULL。

[ @frequency_relative_interval = ] frequency_relative_interval快照代理运行的日期。 frequency_relative_intervalint,默认值为 NULL。

[ @frequency_recurrence_factor = ] frequency_recurrence_factorfrequency_type使用的重复因子。 frequency_recurrence_factor为 int,默认值为 NULL。

[ @active_start_date = ] active_start_date首次计划快照代理的日期,格式为 yyyyMMddactive_start_dateint,默认值为 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'如果使用现有作业,则为现有快照代理作业名称的名称。 快照_agent_namenvarchar(100),默认值为 NULL。

[ @publisher_security_mode = ] publisher_security_mode 连接到发布服务器时代理使用的安全模式。 publisher_security_modesmallint,默认值为 NULL。 0 指定 SQL Server 身份验证, 1 指定 Windows 身份验证。 必须为非 SQL Server 发布服务器指定值 0

重要

请尽可能使用 Windows 身份验证。

[ @publisher_login = ] 'publisher_login' 连接到发布服务器时使用的登录名。 publisher_loginsysname,默认值为 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_passwordsysname,默认值为 NULL。 创建新的快照代理作业时,必须提供此参数。

重要

如果可能,请在运行时提示用户输入安全凭据。 如果必须在脚本文件中存储凭据,则必须保护文件以防止未经授权的访问。

[ @publisher = ] 'publisher' 指定非 SQL Server 发布服务器。 publishersysname,默认值为 NULL。

注意

在 SQL Server 发布服务器上创建快照代理时,不应使用发布服务器。

返回代码值

0 (成功) 或 1 (失败)

注解

sp_changepublication_快照用于快照 副本 (replica)、事务副本 (replica)和合并副本 (replica)。

权限

只有 sysadmin 固定服务器角色的成员或db_owner固定数据库角色的成员才能执行sp_changepublication_快照

另请参阅

查看和修改发布属性
更改发布和项目属性
sp_addpublication_快照 (Transact-SQL)
系统存储过程 (Transact-SQL)