刚才在学习给sql server认证login用户创建数据库用户,发现一个login用户只能创建一个数据库用户,创建第二个时就会提示说“Msg 15063, Level 16, State 1, Line 1 登入已經具有一個不同使用者名稱之下的帳戶。”不知为什么??而且这个数据库用户什么时候才会起作用呢??是在客户端用户登陆的时候吗?请各位大侠们不吝赐教,感激不尽!

解决方案 »

  1.   

    HEROWANG,爲什麽呢?
    如果一個數據庫有n個用戶,那豈不是要設定n個登陸,
    爲什麽不能一個登陸有多個用戶,然後給每個用戶設定不同的權限呢
      

  2.   

    login账户是基于服务器使用的用户名。既可基于windows组或者用户账户创建login账户,也可以创建sql server自己的login账户。
      login账户的信息是系统级信息,存储在master数据库的syslogins表中。  sql server有一个默认的login账户sa。sa用户全部的权限,可执行所有操作。
      所有的windows管理员用户sql server的全部权限,其对应的sql server系统中的login账户分别是builtin\adminitrators 和域名\adminitrator  在sql server中增加了登录账户后,就可以把它们映射成它们需要访问的数据库中的user账户。
      每个数据库都有一个用来记录数据库user账户的sysusers表,
       user账户是基于数据库使用的名称,是与login账户相对应的。为了访问数据库,一个login账户可以使用一个特定的用户账户或一个默认的用户账户。
      通常user账户名称与login账户名称相同,当然也可以修改数据库user账户的名称。无论数据库user账户名称与login账户名称是否相同,只要他们有对应关系,那么它们都指向同一个用户。