了解SQL Server权限


8

我针对我的SQL Server 2008 R2 Express Edition实例在SQL Server Management Studio中扎根。我正在尝试了解权限的工作方式。

我可以看到的是(通过许多这些实体的属性)

  1. 我的服务器登录名可以链接到数据库用户
  2. 我的数据库用户可以具有一个或多个数据库角色
  3. 数据库角色之一是拥有模式db_datawriter的db_datawriter

但是到那时,这条路变得很冷。模式db_datawriter在其属性下具有一个权限页面,该页面为空白。

究竟是什么定义了db_datawriter模式的权限?

Answers:


7

db_datawriter在权限页面中没有项目,因为它没有这样的显式对象权限。角色隐含了权利。

用于db_datawriter的MSDN

db_datawriter固定数据库角色的成员可以在所有用户表中添加,删除或更改数据。

根据另一个MSDB页面,它在表上具有INSERT,UPDATE,DELETE 固定数据库角色的权限

授予:DELETE,INSERT,UPDATE

最后,数据库引擎怎么说(SQL Server 2008 R2)?

EXEC sp_dbfixedrolepermission 'db_datawriter'

db_datawriter   DELETE permission on any object
db_datawriter   INSERT permission on any object
db_datawriter   UPDATE permission on any object

SQL Server 2008的MSDN页面在这里(不同的页面层次结构)


我认为OP询问的是关于架构的权限,而不是固定的db角色。除非我读错了?
Thomas Stringer

@ Surfer513:该模式是该角色的占位符,它没有权限
gbn

嗯,好的,我明白了。感谢您清除误解!
托马斯·斯金格

我实际上是在尝试确定db_datawriter是否授予您通过视图进行写入的权利。我认为答案是,如果您对基础表具有权限(并且满足仅插入一个表的其他条件),则可以。我写的失败原来是身份列的问题,并且在基础表上也失败了
akc42 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.