2016-06-21 29 views

回答

1

可以使用。

select * from MSlogreader_agents 
    select * from MSdistribution_agents 
    select * from MSdistribution_history 
    select * from MSlogreader_history 

在分配数据库中。

而要查看计划,您可以使用msdb.dbo.sysjobschedules加入MSlogreader_agents,MSdistribution_agents。

以下是查看日程安排信息的脚本。如果推送订阅分发代理程序在分发服务器上可用,以防在订阅中提供它。

 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] 

谢谢。

1

它应该是作为对外开放复制作业那么简单属性 - >时间表 - >编辑,并在频率你可以看到已设置的所有设置在那里。