4
votes

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?

3

3 Answers

8
votes

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

5
votes

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

0
votes

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.