当前位置:  开发笔记 > 编程语言 > 正文

从Management Studio隐藏SQL数据库

如何解决《从ManagementStudio隐藏SQL数据库》经验,为你挑选了3个好方法。

如何在登录时隐藏您没有访问权限的数据库SQL Server 2005 / 2008

目前,如果用户连接,他们会看到服务器上的所有数据库,这意味着他们必须扫描列表才能找到他们的数据库.



1> 小智..:

经过几个小时试图找出如何创建只能访问1个DB的用户帐户,并且只能看到该数据库.我想我想通了!!!!

    创建一个用户帐户(确保它没有映射到任何数据库,否则你将得到最终错误消息15110,级别16,状态1并注意建议的解决方案)

    USE [master]
    GO
    CREATE LOGIN [us4] 
        WITH PASSWORD=N'123', 
        DEFAULT_DATABASE=[master], 
        CHECK_EXPIRATION=OFF, 
        CHECK_POLICY=OFF
    

    右键单击SQL(SQLSERVER名称)的上部> Properties> Permissions>点击user account,并选择Deny查看数据库.

    use [master]
    GO
    DENY VIEW ANY DATABASE TO [us4]
    

    右键单击新创建的数据库,属性,文件,然后将所有者更改为新创建的帐户.(重要说明: ALTER ROLE [db_owner] ADD MEMBER [us4] 不起作用)

    USE [dbname]
    GO
    EXEC dbo.sp_changedbowner @loginame = N'us4', @map = false
    

此时,一旦用户登录,他将看到Master,tempdb并且还将看到他是数据库所有者的新数据库.您可能想要去Tools>Option并启用隐藏系统对象的选项以便您不要不显示master,tempdb等.如果此选项不起作用,您可能还需要SP1

Msg 15110, Level 16, State 1, Line 1
The proposed new database owner is already a user or aliased in the database.

建议的Msg 15110解决方案:解决上述错误只需从数据库安全节点中删除用户,然后重试

希望有帮助......

尼基尔


这很好,但如果我不希望该用户成为数据库的所有者,但仍然能够在SSMS中查看它,该怎么办?

2> Jonathan Keh..:

这实际上不会以有意义的方式工作,或者你可能期望它会工作.

REVOKE VIEW ANY DATABASE来自public角色,但随后用户必须是数据库的数据库所有者或者它无法看到,但它仍然可以被访问.

问题是数据库引擎安全性的缺点,并且不太可能在SQL Server的当前版本或未来版本中修复.

Erland Sommarskog刚刚开设了以下连接项目,最近在Twitter和微软上讨论了它SQL MVP's.

投票支持连接并帮助微软更好地修复:

连接反馈

基本上,权限存储在数据库级别,因此需要枚举每个数据库以确定用户是否具有在对象资源管理器中显示数据库的连接权限,这是一项昂贵的任务以及旧的EM如何用于执行操作.

建议的解决方案是在服务器级别维护此信息,这是一个重大变化.


+1,这似乎是目前为止最完整和最全面的答案.
由于Connect已移至Azure反馈,因此上述链接不再有效.新链接是https://feedback.azure.com/forums/908035-sql-server/suggestions/32889787-n​​eed-view-definition-permissions-per-database

3> Mitch Wheat..:

您需要从角色PUBLIC撤消权限'查看任何数据库'(SQL SERVER 2005以后)


注意:如果您不能让此用户登录您希望他管理的数据库的DBO,或者您希望以这种方式保护多个登录,则这可能对您不起作用,因为只有一个登录可以是实际的DBO一个数据库.
推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有