Разница между функциями SYSTEMUSER и CURRENTUSER в SQL Server заключается в том, что первая возвращает имя входа, а вторая — имя текущего пользователя: www.sqlserver-dba.com learn.microsoft.com
- SYSTEMUSER возвращает имя входа, назначенного системой, если не задано значение по умолчанию. learn.microsoft.com Если текущий пользователь вошёл в SQL Server с помощью проверки подлинности Windows, функция возвращает имя идентификации входа Windows в форме «домен|userlogin_name». learn.microsoft.com Если пользователь вошёл в систему с помощью проверки подлинности SQL Server, то возвращается имя идентификации входа SQL Server. learn.microsoft.com
- CURRENT_USER возвращает имя текущего пользователя, который выполняет запрос. www.geeksforgeeks.org Функция идентифицирует логин SQL Server, под которым работает текущая сессия. www.geeksforgeeks.org Если текущий пользователь имеет привилегии sysadmin, то возвращается «dbo», а не имя входа. www.sqlserver-dba.com
Таким образом, SYSTEMUSER больше ориентирована на получение системного имени входа, а CURRENTUSER — на определение имени текущего пользователя, выполняющего запрос.