Answered by:
user server role

Question
-
With Vba or with Api can I know the user server role?
If the user is <SA> I am sure is an administrator, bat if the name is different?
Thanks
Marco Dell’Oca
Tuesday, September 26, 2017 11:11 AM
Answers
-
You certainly can create a PT query in Access, and then paste in this:
SELECT u.name as CUser, r.name as role FROM sys.database_role_members AS m INNER JOIN sys.database_principals AS r ON m.role_principal_id = r.principal_id INNER JOIN sys.database_principals AS u ON u.principal_id = m.member_principal_id WHERE u.name = SESSION_USER
The above will return this
CUser role
Albert db_datareader
Albert db_datawriterYou can also "test" or check for membership in a role, but that was not your question.
Regards
Albert D. Kallal (Access MVP, 2003-2017)
Edmonton, Alberta Canada
- Edited by Albert D. Kallal Wednesday, September 27, 2017 6:00 AM
- Proposed as answer by Chenchen Li Wednesday, September 27, 2017 8:44 AM
- Marked as answer by Marco Dell'Oca Thursday, September 28, 2017 2:32 PM
Wednesday, September 27, 2017 5:59 AM
All replies
-
Hi Marco. Can't test this right now but you might be able to execute a query against the system tables to get the user permissions.
- Proposed as answer by Chenchen Li Wednesday, September 27, 2017 8:44 AM
Tuesday, September 26, 2017 1:24 PM -
You certainly can create a PT query in Access, and then paste in this:
SELECT u.name as CUser, r.name as role FROM sys.database_role_members AS m INNER JOIN sys.database_principals AS r ON m.role_principal_id = r.principal_id INNER JOIN sys.database_principals AS u ON u.principal_id = m.member_principal_id WHERE u.name = SESSION_USER
The above will return this
CUser role
Albert db_datareader
Albert db_datawriterYou can also "test" or check for membership in a role, but that was not your question.
Regards
Albert D. Kallal (Access MVP, 2003-2017)
Edmonton, Alberta Canada
- Edited by Albert D. Kallal Wednesday, September 27, 2017 6:00 AM
- Proposed as answer by Chenchen Li Wednesday, September 27, 2017 8:44 AM
- Marked as answer by Marco Dell'Oca Thursday, September 28, 2017 2:32 PM
Wednesday, September 27, 2017 5:59 AM -
Many thanks Albert
that is the answer I was looking for.
Marco Dell'Oca
Thursday, September 28, 2017 2:32 PM -
Hi Albert,
Thanks for the assist. Cheers!
Thursday, September 28, 2017 3:29 PM