SQL显式和隐式权限
本文关键字:权限 SQL | 更新日期: 2023-09-27 18:27:50
如果默认的'sa'
帐户对整个SQL实例及其所有数据库具有sys_admin permissions
。在数据库本身上,如果我没有启用db_datareader
权限,我会假设它不需要它,因为这是隐含的,但我想知道在.net中,有没有办法检查db_datareader
是否已显式启用,而不仅仅是从"sa'
是sys_admin.
"中隐含的
使用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');