SQL Server CURRENT_USER() Function
Last Updated :
06 Sep, 2024
The CURRENT_USER()
function in SQL Server is a useful tool for identifying the currently logged-in user executing a query. This function helps track user activity and enforce security policies and is often used in auditing scenarios. In this article, We will learn about SQL Server CURRENT_USER() Function in detail.
SQL Server CURRENT_USER() Function
- The
CURRENT_USER()
function in SQL Server returns the name of the current user that is executing the query.
- It identifies the SQL Server login under which the current session is running.
- This function is often used to track or log the activities of the user or to enforce security measures based on user identity.
Syntax
CURRENT_USER() function syntax is:
SELECT CURRENT_USER;
The function will return the username associated with the SQL Server login for the current session.
Examples of SQL Server CURRENT_USER() Function
Let's look at a few examples of the CURRENT_USER() function in SQL Server.
Example 1:
Using CURRENT_USER () function and getting the current user’s name.
SELECT CURRENT_USER AS logged_in_user;
Output:
Here, CURRENT_USER()
returns the name AdminUser
, which is the identity of the user executing the query
Example 2:
Using CURRENT_USER as a default value in the below example and getting the output.
Query:
CREATE TABLE user01 (
user_id int IDENTITY(100, 2) NOT NULL,
customer_id int NOT NULL,
user_name char(50) NOT NULL DEFAULT CURRENT_USER
);
INSERT INTO user01 (customer_id)
VALUES (101), (102);
Displaying the contents of the table -
SELECT * FROM user01;
Output :
| user_id | customer_id | user_name |
1 | 100 | 101 | nidhi |
2 | 101 | 102 | nidhi |
Here, firstly we need to create a table then insert values into it then generate the required output using CURRENT_USER function as a default value.
Note: For running above code use SQL server compiler, you can also use an online compiler.\
Example 3:
Using CURRENT_USER () function and impersonating user 'Geek'.
SELECT CURRENT_USER;
EXECUTE AS USER = 'Geek';
SELECT CURRENT_USER;
Output :
nidhi
Geek
Here, we are impersonating user as 'Geek', then calling CURRENT_USER function to get the current user's name.
Example 4:
Using CURRENT_USER () function for impersonating user 'Geek' then again reverting the code to get the previous current user.
SELECT CURRENT_USER;
EXECUTE AS USER = 'Geek';
SELECT CURRENT_USER;
REVERT;
SELECT CURRENT_USER;
Output :
nidhi
Geek
nidhi
Conclusion
The CURRENT_USER()
function is an important feature in SQL Server, enabling users to determine the identity under which queries are executed. It is valuable for auditing, security, and tracking purposes, making it a frequently used function in database management. From getting the current user's name to impersonating users in a controlled environment, CURRENT_USER()
serves many practical purposes in managing user sessions effectively.