Click here to monitor SSC
SQLServerCentral is supported by Redgate
Log in  ::  Register  ::  Not logged in
Home       Members    Calendar    Who's On

Add to briefcase

SUSER_NAME() vs SUSER_SNAME() Expand / Collapse
Posted Tuesday, April 12, 2011 5:40 AM


Group: General Forum Members
Last Login: Tuesday, March 24, 2015 7:44 AM
Points: 178, Visits: 204
Any reason to use one of the following over the other to return the user currently modifying data?


The documentation for SUSER_NAME() says "SUSER_NAME returns a login name only for a login that has an entry in the syslogins system table.".
SUSER_SNAME() documentation makes no reference to this does this imply that SUSER_NAME is more limited in some way than SUSER_SNAME?
Post #1091981
Posted Tuesday, April 12, 2011 6:52 AM



Group: General Forum Members
Last Login: Today @ 9:48 AM
Points: 14,541, Visits: 38,381
I think you are supposed to use SUSER_SNAME() in most situations.

i believe the difference is SUSER_SNAME() would return a domain\username for those people who are not explicitly on the server, but only get access through an inherited role;

so if you grant a windows role access, SUSER_SNAME() would return results, but SUSER_NAME() is blank, because that user is not explicitly in the sys.server_principals table, right?


help us help you! If you post a question, make sure you include a CREATE TABLE... statement and INSERT INTO... statement into that table to give the volunteers here representative data. with your description of the problem, we can provide a tested, verifiable solution to your question! asking the question the right way gets you a tested answer the fastest way possible!
Post #1092027
« Prev Topic | Next Topic »

Add to briefcase

Permissions Expand / Collapse