问题描述
我需要对用户隐藏不需要的数据库,只允许查看相关的数据库。在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 登录名。但它不起作用。
如果我让用户成为系统管理员,那么权限就被授予了。但随后它将显示所有数据库。不仅是允许的。
如何让 sql Server 代理访问仅使用给定数据库可见性创建的用户登录名。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)