How to determine the effective permissions for a user of a SQL Server database through C#?

流过昼夜 提交于 2019-12-04 05:50:05

I believe you can call sys.fn_my_permissions:

execute as user = 'SomeUserName' -- Set this to the user name you wish to check
select * from fn_my_permissions(null, 'DATABASE') -- Leave these arguments, don't change to MyDatabaseName
order by subentity_name, permission_name
revert

This gave me the same results as the SSMS option you mentioned.

Looks like sys.database_principals and sys.database_permissions have some nice information in them about this. This thread: SQL Server query to find all permissions/access for all users in a database talks about it further.

Note: I'm assuming C# calls into the DB are acceptable solutions.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!