I'm maintaining an application that runs with SQL Server 8.0.760 SP3.
When I try to "see" the permissions of the current user I'm logged with, I do this:
SELECT * FROM fn_my_permissions(NULL, 'SERVER');
However, the server returns this error message:
Msg 208, Level 16, State 1, Line 1
Invalid object name 'fn_my_permissions'.
If I try the following query: SELECT * FROM dbo.fn_my_permissions(NULL, 'SERVER');
, I get the same error message.
How can I list all the current user permissions?
Best Answer
I had to write a permissions audit for some compliance report a while back and now I have integrated that report into my suite of administrative DB scripts.
I put a copy of the procedure that generates the report in pastebin for you and I verified that it works with SQL Server 2000 still.
http://pastebin.com/08krN7jf
It generates the report in a tree view with the login and default database listed first, then any server level roles, then any database roles and explicitly granted permissions.
Edited to add the actual code directly in the reply rather than rely on the pastebin link