sp_changepublication_snapshot (Transact-SQL)
更改指定发布的快照代理的属性。 此存储过程在发布服务器上对发布数据库执行。
重要
使用远程分发服务器配置发布服务器时,为所有参数提供的值(包括 job_login 和 job_password)都会以纯文本方式发送到该分发服务器。 在执行此存储过程之前,应该对发布服务器及其远程分发服务器之间的连接进行加密。 有关详细信息,请参阅启用数据库引擎的加密连接(SQL Server 配置管理器)。
语法
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 | Second |
4 | Minute |
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'
如果使用现有作业,则为现有快照代理作业名称的名称。 快照_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 发布服务器上创建快照代理时,不应使用发布服务器。
返回代码值
0 (成功) 或 1 (失败)
注解
sp_changepublication_快照用于快照 副本 (replica)、事务副本 (replica)和合并副本 (replica)。
权限
只有 sysadmin 固定服务器角色的成员或db_owner固定数据库角色的成员才能执行sp_changepublication_快照。
另请参阅
查看和修改发布属性
更改发布和项目属性
sp_addpublication_快照 (Transact-SQL)
系统存储过程 (Transact-SQL)
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈