Friday, July 15, 2016

Some problem of SUSER_NAME in SQL Server 2016

Which of these is the current user?

The syntax is:
SUSER_NAME ( [ server_user_id ] )
where server_usr_id is the login identification number of the user. It is optional but when used it is of data type int.

server_user_id can be the login for:
  • Any SQL Server login
  • Microsoft Windows user
  • Microsoft Windows User Group that has permission to connect to SQL Server.
If the server_user_id is not supplied, then the current user is returned.
Here are SUSER_NAMEs for a number of server_user-ids:

It works funny in SQL Server 2016 Developers edition on Windows 10 professional.
which is obviously wrong since the current user is:

How does one reconcile with the above?

Also how does one reconcile with the following statement and the results returned.

Hands-on Learning Event in Honolulu 1 : Introduction to Structured Query Language

Database skills are essential in whatever organization and in whatever position and it is crucial that you have this in your arsenal (...