Asp.net 从SQL Server获取访问者IP地址

Asp.net 从SQL Server获取访问者IP地址,asp.net,sql-server,Asp.net,Sql Server,如果我们的网站部署在服务器“A”上,并且用户从其机器“B”请求此网站中的页面。我们可以从连接到“A”的数据库服务器“C”获取“B”的IP地址吗。 例如,在登录时,当我对凭证存储在“C”中的用户进行身份验证时,我们是否有任何T-SQL语句来跟踪用户的IP地址 我可以使用ASP.Net读取IP地址,但我想知道是否可以从SQL Server本身读取IP地址 我在谷歌上搜索了一下,它建议使用SYS.DM_EXEC_CONNECTIONS。但当我们需要获取连接到数据库的客户端的IP地址时,这是适用的 也许

如果我们的网站部署在服务器“A”上,并且用户从其机器“B”请求此网站中的页面。我们可以从连接到“A”的数据库服务器“C”获取“B”的IP地址吗。 例如,在登录时,当我对凭证存储在“C”中的用户进行身份验证时,我们是否有任何T-SQL语句来跟踪用户的IP地址

我可以使用ASP.Net读取IP地址,但我想知道是否可以从SQL Server本身读取IP地址

我在谷歌上搜索了一下,它建议使用SYS.DM_EXEC_CONNECTIONS。但当我们需要获取连接到数据库的客户端的IP地址时,这是适用的

也许我的要求是不可能实现的。问题是我对IT世界还不熟悉。 我将感谢任何帮助或建议


提前感谢

SQL Server不知道或区分连接到它的不同客户端。在这种情况下,SQL Server只知道Web服务器上的应用程序/脚本(A)。实际的最终用户B被Web服务器从SQL Server有效屏蔽。就SQL Server而言,唯一已知的客户端是Web服务器,因为Web服务器是连接SQL Server的唯一来源


您可以从asp.net应用程序获取IP(如您所示),并将其传递给SQL Server。请记住,IP和标头很容易被欺骗。此外,大多数用户通过某个公司网络或ISP进行连接,因此您获得的IP几乎肯定来自组织用于外部连接的共享块。同一台计算机上的同一用户可以在几分钟后使用完全不同的IP重新连接,而无需执行任何操作

你的sql server如果只是直接从你的web服务器连接,那么它不会知道。我想它会帮助你,请转到这个链接