Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何检查执行复制代理的频率?_Sql_Sql Server_Replication - Fatal编程技术网

Sql 如何检查执行复制代理的频率?

Sql 如何检查执行复制代理的频率?,sql,sql-server,replication,Sql,Sql Server,Replication,是否可以检查(在现有复制中)执行复制代理的频率?(例如每5分钟、每2周……) 我在SQL Server代理中找不到它。它应该像打开复制作业属性->计划->编辑一样简单,在“频率”下,您可以看到已设置的所有设置。它应该像打开复制作业属性->计划->编辑一样简单,在那里的“频率”下,您可以看到所有已设置的设置。您可以在相关数据库上运行此存储过程:sp_replmonitorhelppublication()您可以在相关数据库上运行此存储过程:sp_replmonitorhelppublication

是否可以检查(在现有复制中)执行复制代理的频率?(例如每5分钟、每2周……)


我在SQL Server代理中找不到它。

它应该像打开复制作业属性->计划->编辑一样简单,在“频率”下,您可以看到已设置的所有设置。

它应该像打开复制作业属性->计划->编辑一样简单,在那里的“频率”下,您可以看到所有已设置的设置。

您可以在相关数据库上运行此存储过程:sp_replmonitorhelppublication()

您可以在相关数据库上运行此存储过程:sp_replmonitorhelppublication()

您可以使用

    select * from MSlogreader_agents
    select * from MSdistribution_agents
    select * from MSdistribution_history
    select * from MSlogreader_history
在分布数据库中

要查看计划,您可以将MSlogreader_代理、MSdistribution_代理与msdb.dbo.sysjobschedules连接起来

以下是查看计划信息的脚本。。在推送订阅的情况下,分发服务器上的分发代理可用;在推送订阅的情况下,分发代理可用

        SELECT 
            [schedule_uid] AS [ScheduleID]
            , [name] AS [ScheduleName]
            , CASE [enabled]
                WHEN 1 THEN 'Yes'
                WHEN 0 THEN 'No'
              END AS [IsEnabled]
            , CASE 
                WHEN [freq_type] = 64 THEN 'Start automatically when SQL Server Agent starts'
                WHEN [freq_type] = 128 THEN 'Start whenever the CPUs become idle'
                WHEN [freq_type] IN (4,8,16,32) THEN 'Recurring'
                WHEN [freq_type] = 1 THEN 'One Time'
              END [ScheduleType]
            , CASE [freq_type]
                WHEN 1 THEN 'One Time'
                WHEN 4 THEN 'Daily'
                WHEN 8 THEN 'Weekly'
                WHEN 16 THEN 'Monthly'
                WHEN 32 THEN 'Monthly - Relative to Frequency Interval'
                WHEN 64 THEN 'Start automatically when SQL Server Agent starts'
                WHEN 128 THEN 'Start whenever the CPUs become idle'
              END [Occurrence]
            , CASE [freq_type]
                WHEN 4 THEN 'Occurs every ' + CAST([freq_interval] AS VARCHAR(3)) + ' day(s)'
                WHEN 8 THEN 'Occurs every ' + CAST([freq_recurrence_factor] AS VARCHAR(3)) 
                            + ' week(s) on '
                            + CASE WHEN [freq_interval] & 1 = 1 THEN 'Sunday' ELSE '' END
                            + CASE WHEN [freq_interval] & 2 = 2 THEN ', Monday' ELSE '' END
                            + CASE WHEN [freq_interval] & 4 = 4 THEN ', Tuesday' ELSE '' END
                            + CASE WHEN [freq_interval] & 8 = 8 THEN ', Wednesday' ELSE '' END
                            + CASE WHEN [freq_interval] & 16 = 16 THEN ', Thursday' ELSE '' END
                            + CASE WHEN [freq_interval] & 32 = 32 THEN ', Friday' ELSE '' END
                            + CASE WHEN [freq_interval] & 64 = 64 THEN ', Saturday' ELSE '' END
                WHEN 16 THEN 'Occurs on Day ' + CAST([freq_interval] AS VARCHAR(3)) 
                             + ' of every '
                             + CAST([freq_recurrence_factor] AS VARCHAR(3)) + ' month(s)'
                WHEN 32 THEN 'Occurs on '
                             + CASE [freq_relative_interval]
                                WHEN 1 THEN 'First'
                                WHEN 2 THEN 'Second'
                                WHEN 4 THEN 'Third'
                                WHEN 8 THEN 'Fourth'
                                WHEN 16 THEN 'Last'
                               END
                             + ' ' 
                             + CASE [freq_interval]
                                WHEN 1 THEN 'Sunday'
                                WHEN 2 THEN 'Monday'
                                WHEN 3 THEN 'Tuesday'
                                WHEN 4 THEN 'Wednesday'
                                WHEN 5 THEN 'Thursday'
                                WHEN 6 THEN 'Friday'
                                WHEN 7 THEN 'Saturday'
                                WHEN 8 THEN 'Day'
                                WHEN 9 THEN 'Weekday'
                                WHEN 10 THEN 'Weekend day'
                               END
                             + ' of every ' + CAST([freq_recurrence_factor] AS VARCHAR(3)) 
                             + ' month(s)'
              END AS [Recurrence]
            , CASE [freq_subday_type]
                WHEN 1 THEN 'Occurs once at ' 
                            + STUFF(
                         STUFF(RIGHT('000000' + CAST([active_start_time] AS VARCHAR(6)), 6)
                                        , 3, 0, ':')
                                    , 6, 0, ':')
                WHEN 2 THEN 'Occurs every ' 
                            + CAST([freq_subday_interval] AS VARCHAR(3)) + ' Second(s) between ' 
                            + STUFF(
                           STUFF(RIGHT('000000' + CAST([active_start_time] AS VARCHAR(6)), 6)
                                        , 3, 0, ':')
                                    , 6, 0, ':')
                            + ' & ' 
                            + STUFF(
                            STUFF(RIGHT('000000' + CAST([active_end_time] AS VARCHAR(6)), 6)
                                        , 3, 0, ':')
                                    , 6, 0, ':')
                WHEN 4 THEN 'Occurs every ' 
                            + CAST([freq_subday_interval] AS VARCHAR(3)) + ' Minute(s) between ' 
                            + STUFF(
                           STUFF(RIGHT('000000' + CAST([active_start_time] AS VARCHAR(6)), 6)
                                        , 3, 0, ':')
                                    , 6, 0, ':')
                            + ' & ' 
                            + STUFF(
                            STUFF(RIGHT('000000' + CAST([active_end_time] AS VARCHAR(6)), 6)
                                        , 3, 0, ':')
                                    , 6, 0, ':')
                WHEN 8 THEN 'Occurs every ' 
                            + CAST([freq_subday_interval] AS VARCHAR(3)) + ' Hour(s) between ' 
                            + STUFF(
                            STUFF(RIGHT('000000' + CAST([active_start_time] AS VARCHAR(6)), 6)
                                        , 3, 0, ':')
                                    , 6, 0, ':')
                            + ' & ' 
                            + STUFF(
                            STUFF(RIGHT('000000' + CAST([active_end_time] AS VARCHAR(6)), 6)
                                        , 3, 0, ':')
                                    , 6, 0, ':')
              END [Frequency]
            , STUFF(
                    STUFF(CAST([active_start_date] AS VARCHAR(8)), 5, 0, '-')
                        , 8, 0, '-') AS [ScheduleUsageStartDate]
            , STUFF(
                    STUFF(CAST([active_end_date] AS VARCHAR(8)), 5, 0, '-')
                        , 8, 0, '-') AS [ScheduleUsageEndDate]
            , [date_created] AS [ScheduleCreatedOn]
            , [date_modified] AS [ScheduleLastModifiedOn]
        FROM [msdb].[dbo].[sysschedules]
        INNER JOIN      MSDB.DBO.sysjobschedules
        ON MSDB.DBO.sysjobschedules.schedule_id=[msdb].[dbo].[sysschedules].schedule_id
        INNER JOIN (
                        select job_id from distribution.dbo.MSlogreader_agents
                        union all
                        select job_id from distribution.dbo.MSdistribution_agents
                ) a ON A.job_id=[msdb].[dbo].sysjobschedules.job_id
        ORDER BY [ScheduleName]
谢谢。

您可以使用

    select * from MSlogreader_agents
    select * from MSdistribution_agents
    select * from MSdistribution_history
    select * from MSlogreader_history
在分布数据库中

要查看计划,您可以将MSlogreader_代理、MSdistribution_代理与msdb.dbo.sysjobschedules连接起来

以下是查看计划信息的脚本。。在推送订阅的情况下,分发服务器上的分发代理可用;在推送订阅的情况下,分发代理可用

        SELECT 
            [schedule_uid] AS [ScheduleID]
            , [name] AS [ScheduleName]
            , CASE [enabled]
                WHEN 1 THEN 'Yes'
                WHEN 0 THEN 'No'
              END AS [IsEnabled]
            , CASE 
                WHEN [freq_type] = 64 THEN 'Start automatically when SQL Server Agent starts'
                WHEN [freq_type] = 128 THEN 'Start whenever the CPUs become idle'
                WHEN [freq_type] IN (4,8,16,32) THEN 'Recurring'
                WHEN [freq_type] = 1 THEN 'One Time'
              END [ScheduleType]
            , CASE [freq_type]
                WHEN 1 THEN 'One Time'
                WHEN 4 THEN 'Daily'
                WHEN 8 THEN 'Weekly'
                WHEN 16 THEN 'Monthly'
                WHEN 32 THEN 'Monthly - Relative to Frequency Interval'
                WHEN 64 THEN 'Start automatically when SQL Server Agent starts'
                WHEN 128 THEN 'Start whenever the CPUs become idle'
              END [Occurrence]
            , CASE [freq_type]
                WHEN 4 THEN 'Occurs every ' + CAST([freq_interval] AS VARCHAR(3)) + ' day(s)'
                WHEN 8 THEN 'Occurs every ' + CAST([freq_recurrence_factor] AS VARCHAR(3)) 
                            + ' week(s) on '
                            + CASE WHEN [freq_interval] & 1 = 1 THEN 'Sunday' ELSE '' END
                            + CASE WHEN [freq_interval] & 2 = 2 THEN ', Monday' ELSE '' END
                            + CASE WHEN [freq_interval] & 4 = 4 THEN ', Tuesday' ELSE '' END
                            + CASE WHEN [freq_interval] & 8 = 8 THEN ', Wednesday' ELSE '' END
                            + CASE WHEN [freq_interval] & 16 = 16 THEN ', Thursday' ELSE '' END
                            + CASE WHEN [freq_interval] & 32 = 32 THEN ', Friday' ELSE '' END
                            + CASE WHEN [freq_interval] & 64 = 64 THEN ', Saturday' ELSE '' END
                WHEN 16 THEN 'Occurs on Day ' + CAST([freq_interval] AS VARCHAR(3)) 
                             + ' of every '
                             + CAST([freq_recurrence_factor] AS VARCHAR(3)) + ' month(s)'
                WHEN 32 THEN 'Occurs on '
                             + CASE [freq_relative_interval]
                                WHEN 1 THEN 'First'
                                WHEN 2 THEN 'Second'
                                WHEN 4 THEN 'Third'
                                WHEN 8 THEN 'Fourth'
                                WHEN 16 THEN 'Last'
                               END
                             + ' ' 
                             + CASE [freq_interval]
                                WHEN 1 THEN 'Sunday'
                                WHEN 2 THEN 'Monday'
                                WHEN 3 THEN 'Tuesday'
                                WHEN 4 THEN 'Wednesday'
                                WHEN 5 THEN 'Thursday'
                                WHEN 6 THEN 'Friday'
                                WHEN 7 THEN 'Saturday'
                                WHEN 8 THEN 'Day'
                                WHEN 9 THEN 'Weekday'
                                WHEN 10 THEN 'Weekend day'
                               END
                             + ' of every ' + CAST([freq_recurrence_factor] AS VARCHAR(3)) 
                             + ' month(s)'
              END AS [Recurrence]
            , CASE [freq_subday_type]
                WHEN 1 THEN 'Occurs once at ' 
                            + STUFF(
                         STUFF(RIGHT('000000' + CAST([active_start_time] AS VARCHAR(6)), 6)
                                        , 3, 0, ':')
                                    , 6, 0, ':')
                WHEN 2 THEN 'Occurs every ' 
                            + CAST([freq_subday_interval] AS VARCHAR(3)) + ' Second(s) between ' 
                            + STUFF(
                           STUFF(RIGHT('000000' + CAST([active_start_time] AS VARCHAR(6)), 6)
                                        , 3, 0, ':')
                                    , 6, 0, ':')
                            + ' & ' 
                            + STUFF(
                            STUFF(RIGHT('000000' + CAST([active_end_time] AS VARCHAR(6)), 6)
                                        , 3, 0, ':')
                                    , 6, 0, ':')
                WHEN 4 THEN 'Occurs every ' 
                            + CAST([freq_subday_interval] AS VARCHAR(3)) + ' Minute(s) between ' 
                            + STUFF(
                           STUFF(RIGHT('000000' + CAST([active_start_time] AS VARCHAR(6)), 6)
                                        , 3, 0, ':')
                                    , 6, 0, ':')
                            + ' & ' 
                            + STUFF(
                            STUFF(RIGHT('000000' + CAST([active_end_time] AS VARCHAR(6)), 6)
                                        , 3, 0, ':')
                                    , 6, 0, ':')
                WHEN 8 THEN 'Occurs every ' 
                            + CAST([freq_subday_interval] AS VARCHAR(3)) + ' Hour(s) between ' 
                            + STUFF(
                            STUFF(RIGHT('000000' + CAST([active_start_time] AS VARCHAR(6)), 6)
                                        , 3, 0, ':')
                                    , 6, 0, ':')
                            + ' & ' 
                            + STUFF(
                            STUFF(RIGHT('000000' + CAST([active_end_time] AS VARCHAR(6)), 6)
                                        , 3, 0, ':')
                                    , 6, 0, ':')
              END [Frequency]
            , STUFF(
                    STUFF(CAST([active_start_date] AS VARCHAR(8)), 5, 0, '-')
                        , 8, 0, '-') AS [ScheduleUsageStartDate]
            , STUFF(
                    STUFF(CAST([active_end_date] AS VARCHAR(8)), 5, 0, '-')
                        , 8, 0, '-') AS [ScheduleUsageEndDate]
            , [date_created] AS [ScheduleCreatedOn]
            , [date_modified] AS [ScheduleLastModifiedOn]
        FROM [msdb].[dbo].[sysschedules]
        INNER JOIN      MSDB.DBO.sysjobschedules
        ON MSDB.DBO.sysjobschedules.schedule_id=[msdb].[dbo].[sysschedules].schedule_id
        INNER JOIN (
                        select job_id from distribution.dbo.MSlogreader_agents
                        union all
                        select job_id from distribution.dbo.MSdistribution_agents
                ) a ON A.job_id=[msdb].[dbo].sysjobschedules.job_id
        ORDER BY [ScheduleName]

谢谢。

脚本用于查看计划..脚本用于查看计划。。