SQL显式和隐式权限

时间:2012-03-14 11:31:33

标签: c# sql sql-server database vb.net

如果整个SQL实例及其所有数据库的默认“sa'帐户都有sys_admin permissions”。在数据库本身,如果我没有启用db_datareader权限,我会认为它不需要它,因为它暗示但我想知道.net,有没有办法检查{{1} }已明确启用,而不只是隐含在db_datareader sa'

1 个答案:

答案 0 :(得分:1)

使用syspermissions目录:

SELECT u.name, o.name
FROM syspermissions p, sysobjects o, sysusers u
WHERE p.id = o.id
AND u.uid = p.grantee
AND o.xtype = 'U' --user

此外,您可以使用这些脚本获取服务器/数据库上的用户名/用户登录权限

SELECT * FROM fn_my_permissions(NULL, 'SERVER');

SELECT * FROM fn_my_permissions (NULL, 'DATABASE');