The SELECT permission was denied on the object 'sysjobs', database 'msdb', schema 'dbo'
Asked Answered
W

3

9

I'm getting the following error when trying to read a SQL Job.

The SELECT permission was denied on the object 'sysjobs', database 'msdb', schema 'dbo'

How can I fix this?

Weldon answered 16/6, 2011 at 11:14 Comment(0)
K
12

You need to GRANT the SELECT permission for the user of your job.

A simple GRANT.

USE pubs
GO

GRANT SELECT
ON authors
TO public
GO 

Further information about GRANT

Keenakeenan answered 16/6, 2011 at 11:16 Comment(1)
I don't know much about whether GRANT is needed for msdb, but I ran this script, changing 'authors' to the objects which required permission, and now all is working fine. cheers!Weldon
A
6

You use the "SQL Server Agent Fixed Database Roles" in msdb (MSDN link): don't assigned permission directly, it'll be a pain to manage

And a "how to" for SSMS: "How to: Configure a User to Create and Manage SQL Server Agent Jobs (SQL Server Management Studio)"

Note: you need a user (MSDN) in one of these roles: no need to GRANT any rights

Ambrosius answered 16/6, 2011 at 11:27 Comment(0)
R
0

Make sure you aren't overriding the default user, usually a SQL Agent Account, with a user who does not belong to the necessary role. Leave this box blank unless you need to run as a specific user, and ensure that user has all needed role memberships.

Reggiereggis answered 9/12, 2019 at 21:24 Comment(0)

© 2022 - 2025 — McMap. All rights reserved.