【问题标题】:Where does SQL Server Agent save jobs?SQL Server 代理在哪里保存作业?
【发布时间】:2012-10-08 17:27:59
【问题描述】:

我的服务器已关闭,我只能从中获取硬盘。我找到了我的数据库并复制了它,但是我在哪里可以找到代理工作?他们在哪里得救?

【问题讨论】:

    标签: sql sql-server restore sql-server-agent


    【解决方案1】:

    在 MSDB 数据库中,作业存储在名为 dbo.sysjobs 的表中。这将连接到一个名为 dbo.sysjobsteps 的表,该表存储各个步骤的详细信息。计划存储在 dbo.sysjobschedules 中,历史记录存储在 dbo.sysjobhistory 中。

    MSDB 还将包含其他实例级对象,例如警报、运算符和 SSIS 包。

    【讨论】:

      【解决方案2】:

      作业存储在msdb database。您必须恢复它。

      【讨论】:

      • Lehner,当我只替换此数据库的文件时,任何设置都可以更改吗?
      • 如果你将这些东西放到新服务器上,我可能会将 MSDB 恢复到新数据库(“MSDB_restore”),然后将 script the jobs 恢复到新数据库。
      【解决方案3】:

      让我介绍以下精彩的SQL query,向我们展示 SQL Server 存储 SQL 作业的位置和方式。

      -- List of all the SQL Jobs on a server with steps
      SELECT
           job.job_id,
           notify_level_email,
           name,
           enabled,
           description,
           step_name,
           command,
           server,
           database_name
      FROM
          msdb.dbo.sysjobs job
      INNER JOIN 
          msdb.dbo.sysjobsteps steps        
      ON
          job.job_id = steps.job_id
      WHERE 1=1
          --AND job.enabled = 1 -- uncomment this to see enabled SQL Jobs
      

      我还删除了“msdb”。查询中的前缀以查看从备份恢复的 msdb 数据库中的 SQL 作业。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-04
        • 2010-09-13
        • 1970-01-01
        • 1970-01-01
        • 2010-12-07
        • 2017-11-11
        相关资源
        最近更新 更多