创建具有只读权限的SQL用户的最佳方法?

时间:2013-04-25 09:56:00

标签: sql-server sql-server-2008

为特定数据库创建只读用户的最佳做法是什么?

我创建了一个新用户并授予了db_datareader角色,但是,该用户仍然可以访问主数据库和其他系统数据库。这可以吗?或者我是否应该拒绝访问某些系统表/数据库以使其更安全?

感谢。


好的,所以如果我创建一个新用户,他还有更多默认权限我必须否认吗? 如果我做 〜创建登录 〜创建用户登录.. 〜为用户授予EXECUTE

用户是否只具有EXECUTE权限,还是对活动数据库还有其他权限?

2 个答案:

答案 0 :(得分:0)

您好我相信用户也可以在对象资源管理器中查看其他数据库。

CREATE LOGIN me with password = 'me', check_policy = off

sp_changedbowner 'me'
GO

USE MASTER
GO


DENY VIEW ANY DATABASE TO me
GO

答案 1 :(得分:0)

你可以使用denywrite作为角色选项。用户必须“看到”主人,因为主人包含他将偶然连接到的数据库列表,但他只会在那里拥有访客权限。然后,您可以拒绝访问其他特定数据库。 AFAIK他不需要将tempdb或msdb视为访问这些

的SQL引擎