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

时间:2021-01-13 13:19:30

标签: sql-server sql-server-2008 sql-server-2008-r2

我需要对用户隐藏不需要的数据库,只允许查看相关的数据库。在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 代理访问仅使用给定数据库可见性创建的用户登录名。

0 个答案:

没有答案