当我的SQL Server登录是AD组时,如何确定用户?(How do I determine the user when my SQL Server Login is a AD group?)

考虑这个例子:

如果我在Active Directory上有一个安全组(我们称之为MyGroup ),其中有5个用户( MYDOMAIN\User1 - MYDOMAIN\User5 )

如果我为我的数据库创建SQL Server登录和用户,如下所示:

CREATE LOGIN [MYDOMAIN\MyGroup] FROM WINDOWS; CREATE USER [MyGroup] FOR LOGIN [MYDOMAIN\MyGroup];

如果MYDOMAIN\User4连接到数据库,是否有一个SQL查询,我可以用来判断MyGroup哪个用户已连接到数据库?

Consider this example:

If I have a security group on Active Directory (let's call it MyGroup) which has 5 users in it (MYDOMAIN\User1 - MYDOMAIN\User5)

If I create a SQL Server Login and User for my database like this:

CREATE LOGIN [MYDOMAIN\MyGroup] FROM WINDOWS; CREATE USER [MyGroup] FOR LOGIN [MYDOMAIN\MyGroup];

If MYDOMAIN\User4 connects to the database, is there a SQL query I can use to tell which user of MyGroup has connected to the database?

最满意答案

在没有参数的情况下调用时,函数SUSER_SNAME将返回当前登录名。

SELECT SUSER_SNAME() ;

The function SUSER_SNAME will return the current login, when called without a parameter.

Example

SELECT SUSER_SNAME() ;当我的SQL Server登录是AD组时,如何确定用户?(How do I determine the user when my SQL Server Login is a AD group?)

考虑这个例子:

如果我在Active Directory上有一个安全组(我们称之为MyGroup ),其中有5个用户( MYDOMAIN\User1 - MYDOMAIN\User5 )

如果我为我的数据库创建SQL Server登录和用户,如下所示:

CREATE LOGIN [MYDOMAIN\MyGroup] FROM WINDOWS; CREATE USER [MyGroup] FOR LOGIN [MYDOMAIN\MyGroup];

如果MYDOMAIN\User4连接到数据库,是否有一个SQL查询,我可以用来判断MyGroup哪个用户已连接到数据库?

Consider this example:

If I have a security group on Active Directory (let's call it MyGroup) which has 5 users in it (MYDOMAIN\User1 - MYDOMAIN\User5)

If I create a SQL Server Login and User for my database like this:

CREATE LOGIN [MYDOMAIN\MyGroup] FROM WINDOWS; CREATE USER [MyGroup] FOR LOGIN [MYDOMAIN\MyGroup];

If MYDOMAIN\User4 connects to the database, is there a SQL query I can use to tell which user of MyGroup has connected to the database?

最满意答案

在没有参数的情况下调用时,函数SUSER_SNAME将返回当前登录名。

SELECT SUSER_SNAME() ;

The function SUSER_SNAME will return the current login, when called without a parameter.

Example

SELECT SUSER_SNAME() ;