我创建一个新用户
exec sp_addlogin 'xx','xx'
 use DBA
 sp_grantdbaccess 'xx'
 sp_addrolemember 'db_owner','xx'
之后我用xx登录,其它什么权限都有,就是在左边树型结构里死活看不到DBA这个数据库。
 但是在查询分析器里用 use DBA 是正常的,也可能查询。但在win7 + SQL2012 在左过的树型结构里是可能看到的。
 后来我改用 alter authorization on database::DBA to xx 在左边的树型结构里是可以看到,
 但我用revoke create table to xx 取消却提示用户xx不存在 sql数据库win7wn2008

解决方案 »

  1.   

    刷新没用的,我刷新了N次了,服务也重启过。 只有把登录名加了sysadmin角色中才能在树型结构中看到
      

  2.   

    刷新没用的,我刷新了N次了,服务也重启过。 只有把登录名加了sysadmin角色中才能在树型结构中看到
    原来如此,你自己就把问题解决了。
      

  3.   

    --我创建一个新用户
    exec sp_addlogin 'CC','1q2w3e4R'USE csdn
    EXEC sp_grantdbaccess 'CC'EXEC sp_addrolemember 'db_owner','CC'--测试过,windows server 2012 + sql server 2012没问题
      

  4.   

    但我的环境是windows server 2008 + sql server 2012 有问题 ,也不知是不是环境的问题;还发现一个奇怪的现像,一般对象资源管理器启动后,实例旁会有一个三角形,但我这个环境没有,是一个白色的圈
      

  5.   

    刷新没用的,我刷新了N次了,服务也重启过。 只有把登录名加了sysadmin角色中才能在树型结构中看到
    原来如此,你自己就把问题解决了。
    没有解决,sysadmin是最高权限,我不想给用户太多权限,但加入sysadmin就有了最高权限:(
      

  6.   

    try this,use masterexec sp_addlogin 'xx','xx'
    use DBAsp_grantdbaccess 'xx'sp_addrolemember 'db_owner','xx'
     -- 授权可浏览所有数据库
    use mastergrant view any database to xx
      

  7.   

    借用wwwwgou的脚本,改了一下库名而已,没发现有问题。环境:win 8+sql server 2014
      

  8.   

    你看下有没有把CC加到sysadmin组里
      

  9.   

    没有手动加的话默认都是public,不会那么傻给你最高权限的
      

  10.   

    我的环境:
    加入sysadmin
    没加入sysadmin
      

  11.   

    实例-》安全性-》登陆名-》右键属性-》安全对象-》查看任意数据库-》如果是拒绝,就会发生楼主的情况,数据库看不见。
    #1.看一下登陆名的权限设置
    #2.看一下数据级别的权限设置

    没有拒绝与没有授予,我勾上授予,也不行。但是用use [70ybisdb]是成功的
      

  12.   

    最后发现可能是SQL安装的问题 ,我在重新安装系统后又正常