首页 > 解决方案 > SQL Server 为用户授予 SQL 代理访问权限

问题描述

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

    --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 登录名。但它不起作用。 在此处输入图像描述

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

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

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

解决方案


推荐阅读