比如
sp_addlogin 'tom','123456'
添加好以后 ,我以这个sqlserver账户登录后,没有加入任何服务器角色,也没有连接到任何数据库用户,
系统是不是自动会追加数据库角色system和数据库数据角色db_owner呢因为该账户,登录后,可以创建数据库和表等系列权限

解决方案 »

  1.   

    --#step1.
    sp_addlogin 'tom','123456' --密码有效性验证失败。该密码不够复杂,不符合 Windows 策略要求。--#step2.
    sp_addlogin 'tom','1q2w3e4R'
    CREATE DATABASE aa --在数据库 'master' 中拒绝了 CREATE DATABASE 权限。--说明,新建立的tom帐号,默认只有public权限(任何用户都会默认有public服务器组权限).
    --像你说的这种情况,不应该,看一下:安全性->服务器角色->public组中的权限
      

  2.   

    谢谢一楼朋友,我仍有几点疑问:
    1.密码策略错误我的sqlserver2005没有提示,运行正常,登录没有问题
    2.在服务器-》安全性-》服务器角色下没有public组,只有数据库-》安全性-》数据库角色下才有public
    3.而且以创建好的sql用户登录,可以创建数据库,但创建好的数据库无法正常查看相关信息,提示没有查看权限
      

  3.   

    角色分两个级别:
    1、服务器实例级别,这个级别的Login是你用来登录数据库服务器的账户,如果不给予权限,那么就是默认public,创建一个public的账户后,对服务器实例上的任何数据库是没有操作权限的。
    2、数据库级别,建立好一个实例级别的账户后,可以在某个数据库下建立一个user用户,这个用户是不需要密码的,但是需要指定到某个建立好的login账户下,同时,如果不给user指定数据库用户角色或授予权限,也是无法使用该数据库的。
    所以你的三个问题综合起来是一个问题:
    就是你只建立了服务器实例级别的login账户,并没有为login账户建立对应的数据库级别user,也没有给user赋权限。
      

  4.   

    不会的,除非赋予权限。当然对于Windows管理员账户可能不需要,如果BUILTIN\Administrators在的话。
      

  5.   

    这个login只有敲门的功能,没有敢任何事情的功能。
      

  6.   

    这个貌似不可能啊,没有任何权限怎么可能创建数据库
    除非是windows账号在某个有权限的组里面
    但是你这个例子已经排除是windows账户了