Permitiendo la administración de los jobs a usuarios que no son System Administrators en SQL Server Agent 2005 o superior

Antes de que llegara el Microsoft SQL Server 2005 al mercado, si usted deseaba que alguien tuviera acceso a ver, modificar, crear y ejecutar los SQL Server Agent Jobs, necesitaba darle permisos de Systems Administrator al login deseado de SQL Server, con el inconveniente que de también le iba a permitir hacer lo que deseara en esa instancia.

A partir del SQL Server 2005, se incluyeron los siguientes 3 roles:

SQLAgentUserRole: Los usuarios pueden crear jobs y manejar solo los jobs que ellos han creado.
SQLAgentReaderRole: Van a tener los privilegios del rol SQLAgentUserRole junto con la habilidad de enumerar y ver el historial de todos los jobs.
SQLAgentOperatorRole: Van a tener los mismos privilegios del rol SQLAgentReaderRole junto con la habilidad de ejecutar jobs locales de los cuales ellos no son dueños.

El procedimiento para asignarle permisos a un login en alguno de esos roles es el siguiente:

1. Agregue el usuario deseado a la base de datos "msdb":

USE [msdb]

GO

CREATE USER [MyUser] FOR LOGIN [MyUser]

GO

2. Asigne el rol deseado al usuario:

USE [msdb]

GO

EXEC sp_addrolemember 'SQLAgentUserRole', 'MyUser'

GO

 

Aporte de Hector Bejarano - http://citicr.org

Comments

Anonymous said…
This comment has been removed by a blog administrator.

Popular posts from this blog

Desempeño de SQL Server 2008 R2 y Max Worker Threads

Cómo identificar consultas más pesadas en SQL Server

SQL Server La longitud de los datos LOB (2200100) que se van a replicar excede el máximo configurado 65536.