了解 SQL Server 权限

akc*_*c42 8 security sql-server sql-server-2008-r2

我正在 SQL Server Management Studio 中针对我的 SQL Server 2008 R2 Express Edition 实例。我试图了解权限是如何工作的。

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

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

然而,在那一点上,小路变冷了。架构 db_datawriter 在其属性下有一个空白的权限页面。

什么精确定义了架构 db_datawriter 的权限是什么?

gbn*_*gbn 7

db_datawriter 在权限页面中没有任何项目,因为它没有明确的对象权限。角色隐含了权利。

db_datawriter 的 MSDN

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

根据另一个 MSDB 页面固定数据库角色的权限,它在表上具有插入、更新、删除

授予:删除、插入、更新

最后,DB 引擎怎么说(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
Run Code Online (Sandbox Code Playgroud)

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