Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL用户名()windows身份验证_Sql Server - Fatal编程技术网

Sql server SQL用户名()windows身份验证

Sql server SQL用户名()windows身份验证,sql-server,Sql Server,当我使用windows身份验证登录sql management studio并运行 SELECT USER_NAME() 我看到的结果是dbo 我想它会向我的用户展示 我更详细地了解了它返回dbo的原因,并使用它 SELECT SUSER_NAME() :从指定的标识号返回数据库用户名 :返回用户的登录标识名。请尝试: 选择SUSER_SNAME()我也有类似的问题,问题是由于用户id的创建方式 在安全->右键单击属性->服务器角色下选择登录id。确保只单击“Public”而不单击“sysa

当我使用windows身份验证登录sql management studio并运行

SELECT USER_NAME()
我看到的结果是dbo

我想它会向我的用户展示

我更详细地了解了它返回dbo的原因,并使用它

SELECT SUSER_NAME()
:从指定的标识号返回数据库用户名

:返回用户的登录标识名。

请尝试:


选择SUSER_SNAME()

我也有类似的问题,问题是由于用户id的创建方式


在安全->右键单击属性->服务器角色下选择登录id。确保只单击“Public”而不单击“sysadmin”

我更感兴趣的是它为什么显示dbo。你知道它为什么返回dbo吗?@pdiddy-你期望它返回什么?此函数将返回数据库用户名-即来自
sysusers
的值。当您登录到服务器时,我是否可以作为数据库用户登录到Management studio?@pdiddy-通过提供服务器登录的凭据进行登录。您不以特定数据库用户的身份登录。这些服务器登录已映射到0..n个数据库用户。如果您是系统管理员,您将自动映射到所有数据库中的dbo用户。很好的解释。但是在我登录的服务器角色中,我看不到系统管理员被检查,而是公共的。@anish-不太清楚。我说了
SUSER\u NAME
。不确定它与SUSER\u SNAME有何不同我的是SUSER\u SNAME;它们似乎可以互换。Martin的回答是,首先应该被认为是正确的。我快速查看了一些SQL Server 2000帮助,发现了以下注释:在Microsoft®SQL Server中使用SUSER_NAME时,始终返回NULL™ 2000此系统内置功能仅用于向后兼容。改用SUSER_SNAME。在中未提及弃用。不知道他们是否决定保留它。