Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
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: Yesterday @ 9:46 PM
Points: 13,312, Visits: 33,642
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?


--There is no spoon, and there's no default ORDER BY in sql server either.
Actually, Common Sense is so rare, it should be considered a Superpower. --my son
Post #1092027
« Prev Topic | Next Topic »

Add to briefcase

Permissions Expand / Collapse