【问题标题】:SQL Server 2005 db_denydatawriter example querySQL Server 2005 db_denydatawriter 示例查询
【发布时间】:2010-12-30 22:50:22
【问题描述】:

我正在尝试将 mydomain\myuser 添加到 db_denydatawriter 角色,但我可以找到一个简单的查询示例,有人有一个简单的示例吗?

【问题讨论】:

    标签: sql-server sql-server-2005


    【解决方案1】:

    3 个步骤,以防您尚未设置登录 + 用户

    • CREATE LOGIN [mydomain\myuser] FROM WINDOWS; 在服务器级别。 MSDN
    • CREATE USER [mydomain\myuser] FROM LOGIN [mydomain\myuser]; 在数据库级别。 MSDN
    • Match user 到角色 EXEC sp_addrolemember 'mydomain\myuser', 'db_denydatawriter'

    编辑:

    这只防止直接在表上插入、更新和删除

    它不会停止改变表格设计。即 ddl_admin 或 db_owner。 db_owner 权限会覆盖所有其他权限,因此拒绝将无效。

    如果写入是通过存储过程进行的,ownership chaining 表示不对表检查权限。所以这个答案是行不通的。

    【讨论】:

    • 我这样做了,用户仍然可以修改表格。
    • 他们还有哪些其他角色? db_owner?
    • @Mike:请澄清“修改表格”。您的意思是数据更改或添加列等?他们是否使用存储过程来写入数据?
    • 他们能够运行插入和更新命令,不,他们没有使用任何存储的过程。
    • 我看到了编辑,但用户仍然可以编辑。我运行 sp_helpuser 并且用户仅列为 DB_denydatawriter
    【解决方案2】:
    EXEC sp_addrolemember N'db_denydatawriter', N'Foo' 
    

    参考here

    【讨论】:

      猜你喜欢
      • 2011-01-25
      • 2012-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多