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

如何在Azure SQL Server中更改“dByDATALAADER”的权限为“公共”?

  •  1
  • MrDj05  · 技术社区  · 6 年前

    我在azure sql server数据库中创建了一个新登录名和一个新用户。 我要做的是为数据库中的单个表提供对该角色的只读权限。 执行此操作时,我运行了以下脚本:

    执行sp_addrolemember n'db_datareader',n'new_user' 去

    但是有了这个权限,新用户可以查看数据库中的所有表。 所以我试着用“public”角色运行下面的脚本。

    exec sp_addrolemember n'public',n'new_user' 去

    但它给了我一个错误: “无法更改公共角色的成员身份。”

    如何仅向新用户提供一个表读取权限?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Alberto Morillo    6 年前

    在master数据库上执行以下语句以创建新用户登录名(mydb_user)

    CREATE LOGIN mydb_user 
    WITH PASSWORD = 'p@ssw0rd'
    GO
    

    在用户数据库上运行以下语句

    CREATE USER mydb_user  FROM LOGIN mydb_user ;
    GO
    GRANT SELECT ON dbo.Events TO mydb_user;
    

    我在这边测试过。它应该对你有利。