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');

SQL显式和隐式权限