【问题标题】:The SELECT permission was denied on the object 'sysjobs', database 'msdb', schema 'dbo'对象“sysjobs”、数据库“msdb”、模式“dbo”的 SELECT 权限被拒绝
【发布时间】:2011-06-16 11:14:48
【问题描述】:

我在尝试读取 SQL 作业时遇到以下错误。

对象“sysjobs”、数据库“msdb”、模式“dbo”的 SELECT 权限被拒绝

我该如何解决这个问题?

【问题讨论】:

    标签: sql-server-2005 permissions sql-server-agent sql-job


    【解决方案1】:

    您需要为您的工作用户提供GRANT SELECT 权限。

    一个简单的GRANT

    USE pubs
    GO
    
    GRANT SELECT
    ON authors
    TO public
    GO 
    

    关于GRANT的更多信息

    【讨论】:

    • 我不太了解 msdb 是否需要 GRANT,但我运行了这个脚本,将“作者”更改为需要权限的对象,现在一切正常。干杯!
    【解决方案2】:

    您在 msdb 中使用"SQL Server Agent Fixed Database Roles"(MSDN 链接):不要直接分配权限,管理起来会很痛苦

    以及 SSMS 的“操作方法”:"How to: Configure a User to Create and Manage SQL Server Agent Jobs (SQL Server Management Studio)"

    注意:您需要user (MSDN) 担任以下角色之一:无需授予任何权利

    【讨论】:

      【解决方案3】:

      确保您没有使用不属于必要角色的用户覆盖默认用户,通常是 SQL 代理帐户。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-27
        • 2010-11-14
        • 1970-01-01
        • 2014-02-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多