天天看点

sqlserver browser无法启动_SQL Server中非sysadmin权限用户在SQL Agent的权限

https://msdn.microsoft.com/zh-cn/library/ms188283.aspx

1.我们创建非sysadmin用户后,登录ssms时无法查看SQL Server Agent的JOB情况。

sqlserver browser无法启动_SQL Server中非sysadmin权限用户在SQL Agent的权限

2.在MSDB数据库中创建对应的用户,然后授予查看的权限。

  • SQLAgentUserRole 的成员只对它们所拥有的本地作业和作业计划拥有权

限。 它们不能使用多服务器作业(主服务器作业和目标服务器作业),也不能

通过更改作业所有权来获得对它们还没有拥有的作业的访问权限。

  • SQLAgentReaderRole 包括所有的 SQLAgentUserRole 权限,以及查看可用的

多服务器作业及其属性和历史记录的列表的权限。 此角色的成员还可以查看所

有可用作业和作业计划以及它们的属性的列表,而不只是它们所拥有的那些作

业和作业计划。SQLAgentReaderRole 成员不能通过更改作业所有权来获得对

它们还没有拥有的作业的访问权限。

  • SQLAgentOperatorRole 是具有最高特权的 SQL Server 代理固定数据库角

色。 它的权限包括 SQLAgentUserRole 和 SQLAgentReaderRole的所有权

限。 此角色的成员还可以查看运算符和代理的属性,并且可以枚举服务器上的

可用代理和警报。

  • SQLAgentOperatorRole 的成员还拥有对本地作业和计划的其他权限。 它们可

以执行、停止或启动所有本地作业,还可以删除服务器上的任何本地作业的作

业历史记录。 它们还可以启用或禁用服务器上的所有本地作业和计划。

USE [msdb]

GO

CREATE USER bingo FOR LOGIN bingo

GO

USE [msdb]

GO

EXEC sp_addrolemember N'SQLAgentOperatorRole', N'bingo'

GO

USE [msdb]

GO

EXEC sp_addrolemember N'SQLAgentReaderRole', N'bingo'

GO

USE [msdb]

GO

EXEC sp_addrolemember N'SQLAgentUserRole', N'bingo'

注意:

如果在服务器上有执行了DENY VIEW ANY DATABASE TO PUBLIC的语句,就算配置了上面的权限,还是一样的看不到代理作业。

sqlserver browser无法启动_SQL Server中非sysadmin权限用户在SQL Agent的权限