SQL Server 授予用户 SQL 代理访问权限

问题描述

我需要对用户隐藏不需要的数据库,只允许查看相关的数据库。在Restrict SQL Server Login access to only one database中提供的答案的帮助下,我设法做到了 使用以下查询

    --Step 1: (create a new user)
create LOGIN <<UserName>> WITH PASSWORD='<<Password>>',CHECK_POLICY = OFF;

-- Step 2:(deny view to any database)
USE master;
GO
DENY VIEW ANY DATABASE TO <<UserName>>; 

  --step 3 (then authorized the user for that specific database,you have to use the  master by doing use master as below)
USE master;
GO
ALTER AUTHORIZATION ON DATABASE::<<dbname>> TO <<UserName>>;
GO

现在,从上述脚本创建的 sql server 登录名想要访问 sql 代理以安排和执行 sql server 作业。我已将下图所示的权限授予创建的 sql server 登录名。但它不起作用。

enter image description here

如果我让用户成为系统管理员,那么权限就被授予了。但随后它将显示所有数据库。不仅是允许的。

如何让 sql Server 代理访问仅使用给定数据库可见性创建的用户登录名。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)