代码之家  ›  专栏  ›  技术社区  ›  kjv

授予SQL Server登录对数据库的访问权限-SQL Server

  •  1
  • kjv  · 技术社区  · 16 年前

    我想为SQL Server登录授予对数据库的访问权限。我知道sp_grantdbaccess,但它已被弃用。我可以用什么替代,如何检查登录名是否还没有访问数据库的权限?

    场景:UserA创建数据库sys.database\u主体我有一个名为dbo、sid为UserA的条目。我再次尝试授予UserA权限:我尝试在sys.database\u主体通过name='UserA',但是由于name是dbo而不是UserA,我得到一个错误-'登录名已经有了一个不同用户名的帐户'。如何确定用户在没有sid的情况下是否具有数据库访问权限?

    2 回复  |  直到 16 年前
        1
  •  2
  •   Jeremy Smyth    16 年前

    你可能想 CREATE USER

    例如

    CREATE USER bobuser FOR LOGIN boblogin
    

    这个 sys.database_principals

        2
  •  0
  •   Thomas    16 年前

    首先,您需要在该数据库中为所讨论的登录创建一个用户。为此,请使用 Create User . 如果要确定用户是否已经存在,可以使用 sys.database_principals type = 'U' . 如果要确定给定用户是否已在角色中,可以使用 sys.database_role_members