【发布时间】:2012-09-29 03:03:38
【问题描述】:
当我说有效权限时,我指的是当您进入 SQL Server Management Studio 中的数据库属性,单击“权限”,然后单击“有效”选项卡时列出的权限。
到目前为止,我已经能够使用以下代码确定显式权限:
using Microsoft.SqlServer.Management.Smo;
...
DatabasePermissionInfo[] permissions = database.EnumDatabasePermissions("username");
但是,我仍然需要获取有效权限。在这个场景中,我为一个用户添加了一个登录名,并通过用户映射为数据库赋予了db_datareader 和db_datawriter 的角色。
在数据库的权限中,列出的有效权限是CONNECT, DELETE, INSERT, SELECT,和UPDATE,但显式权限只列出了connect(这是上面代码唯一拉回的)。那么有没有办法以编程方式检索有效权限呢?
谢谢。
【问题讨论】:
-
试试这个 stackoverflow 以前的帖子应该可以帮助stackoverflow.com/questions/962482/…
标签: c# sql-server sql-server-2008 sql-server-2008-r2 ssms