执行之前新建用户时不要赋予任何权限 USE master GO --将所有数据库的查看权限给Public角色,每个登录用户只能查看指定的数据库 --此语句会导致服务器上所有的用户在没有设置数据库权限的情况下不会显示任何数据库,有可能会影响正常使用 DENY VIEW any DATABASE TO PUBLIC; --将数据库Test的所有权给TestUser用户 --TestUser用户可以查看并访问Test数据库 ALTER AUTHORIZATION ON DATABASE::Test T
默认情况下登录用户除了看到自己拥有管理权限的数据库外.还可以看到其他数据库,在点击打开时会提示没有权限.如下设置可使该用户只能看到自己拥有管理权限的数据库,而看不到其他没有权限的数据库. (1)取消默认可查看任何数据库 DENY VIEW any DATABASE TO PUBLIC; -- 没有进行权限设置,所有默认的登录用户不能查看任何数据库 (2)赋予自己拥有管理权限的数据库的查看权限 ALTER AUTHORIZATION ON DATABASE::DBName TO DBUser;
转自(http://blog.163.com/jlj_sk/blog/static/22579293200861422833924/) 取得SQL server 数据库中 所有用户表名称 select name from sysobjects where xtype='U' order by name SQL server数据库系统表详解: sysaltfiles 主数据库 保存数据库的文件 syscharsets 主数据库字符集与排序顺序 sysconfigures主数据库 配置选项 sysc