C#&;SQL Server 2012:获取当前用户';s用户名

C#&;SQL Server 2012:获取当前用户';s用户名,c#,sql-server-2012,C#,Sql Server 2012,我已经用C#和SQL Server构建了一个应用程序。是否可以从应用程序中获取SQL Server存储过程中登录用户的用户名?不将其作为参数传递给存储过程?我想要应用程序用户的用户名,而不是SQL Server用户的用户名 我尝试了suser\u name(),但它返回了SQL Server用户 我需要表中的用户名:dbo.aspnet\u Users 我需要表中的用户名:dbo.aspnet\u Users 是的,有麻烦了。就SQLServer而言,该表与身份验证无关。这是应用程序数据,就像任

我已经用C#和SQL Server构建了一个应用程序。是否可以从应用程序中获取SQL Server存储过程中登录用户的用户名?不将其作为参数传递给存储过程?我想要应用程序用户的用户名,而不是SQL Server用户的用户名

我尝试了
suser\u name()
,但它返回了SQL Server用户

我需要表中的用户名:
dbo.aspnet\u Users

我需要表中的用户名:
dbo.aspnet\u Users

是的,有麻烦了。就SQLServer而言,该表与身份验证无关。这是应用程序数据,就像任何其他应用程序数据一样。从SQLServer的角度来看,“用户”是应用程序正在使用的连接字符串中指定的任何身份验证

由于这是应用程序数据,应用程序需要告诉SQL Server如何处理这些数据。在这种情况下,这意味着向存储过程提供要使用的值。该值是否为用户名字符串、该表中用作外键的标识符等。。。就SQLServer而言,它只是数据表中的一个值,就像其他任何表一样


简而言之,SQL Server无法推断您要使用的值。您必须指定它。

应用程序如何向SQL Server进行身份验证?就SQL Server而言,这就是“用户”。您是否尝试过:
当前用户
用户名
?(此处的文档:)尝试了它,与suser_name()相同。您如何登录到sql server?从ConnectionString