创建用于指定发布的快照代理程序。此存储过程在发布服务器的发布数据库上执行。
sp_addpublication_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' ]
[@publication = ] 'publication'
是发布名。publication 的数据类型为 sysname,没有默认设置。
[@frequency_type = ] frequency_type
是执行快照代理程序的频率。frequency_type 的数据类型为 int,可以是下列值之一。
值 | 描述 |
---|---|
1 | 一次。 |
4(默认值) | 每天。 |
8 | 每星期。 |
10 | 每月。 |
20 | 每月,相对于频率间隔。 |
40 | 当 SQL Server 代理程序启动时。 |
[@frequency_interval = ] frequency_interval
是应用于 frequency_type 所设置频率的值。frequency_interval 的数据类型为 int,默认设置为 1,表示每天。
[@frequency_subday = ] frequency_subday
是 freq_subday_interval 的单位。frequency_subday 的数据类型为 int,可以是下列值之一。
值 | 描述 |
---|---|
1 | 一次 |
2 | 秒 |
4(默认值) | 分钟 |
8 | 小时 |
[@frequency_subday_interval = ] frequency_subday_interval
是 frequency_subday 的间隔。frequency_subday_interval 的数据类型为 int,默认设置为 5,表示每隔 5 分钟。
[@frequency_relative_interval = ] frequency_relative_interval
是快照代理程序运行的日期。frequency_relative_interval 的数据类型为 int,默认设置为 1。
[@frequency_recurrence_factor = ] frequency_recurrence_factor
是 frequency_type 使用的重复因子。frequency_recurrence_factor 的数据类型为 int,默认设置为 0。
[@active_start_date = ] active_start_date
是第一次调度快照代理程序的日期,格式为 YYYYMMDD。active_start_date 的数据类型为 int,默认设置为 0。
[@active_end_date = ] active_end_date
是停止调度快照代理程序的日期,格式为 YYYYMMDD。active_end_date 的数据类型为 int,默认设置为 99991231,它表示 9999 年 12 月 31日。
[@active_start_time_of_day = ] active_start_time_of_day
是第一次调度快照代理程序的时间,格式为 HHMMSS。active_start_time_of_day 的数据类型为 int,默认设置为 0。
[@active_end_time_of_day = ] active_end_time_of_day
是停止调度快照代理程序的时间,格式为 HHMMSS。active_end_time_of_day 的数据类型为 int,默认设置为 235959,表示 24 小时制的 11:59:59 P.M.。
[@snapshot_job_name = ] 'snapshot_agent_name'
仅限内部使用。
0(成功)或 1(失败)
sp_addpublication_snapshot 用于快照复制和事务复制。
只有 sysadmin 固定服务器角色成员或 db_owner 固定数据库角色成员才能执行 sp_addpublication_snapshot。