我不确定我想要的是否可能,但我们开始吧。
在工作中,我们有一个专用的Server 2008框,托管我们需要运行的各种数据库。我们有一个远程人员(我们叫他们Bob),他需要在上面托管一个数据库。有人要求我限制Bob对SQL框的访问权限,但给他足够的权限来控制他的数据库。
目前,我已经为Bob设置了一个SQL登录名,并将其设置为Bob数据库的dbowner,而没有授予它访问任何其他内容的权限。当我用Bob的SQL登录到SSMS时,我可以看到所有其他数据库,但只能访问Bob的数据库,但是,我可以访问和使用主数据库,这对我来说并不温暖和模糊。
是否有办法阻止Bob查看其他数据库的名称并阻止他访问主数据库?
发布于 2010-11-12 02:42:22
在SQL 2005和2008中,引入了授予/删除查看数据库权限的能力,称为“查看任何数据库”。
http://msdn.microsoft.com/en-us/library/ms189077.aspx
您只需确保您想要限制的登录名不具有此服务器的直接或间接权限(尽管是组成员资格)。
发布于 2010-11-10 20:13:15
我不确定是否禁用查看db的能力,但是对于master Bob,Bob可能(a)有明确的权限让master (b)具有服务器角色,或者(c)作为“来宾”进行访问。通过查看Bob的服务器登录,检查a&b应该非常容易。以Bob的身份登录时,在master中运行"select user_name()“来检查c。
https://serverfault.com/questions/200485
复制相似问题