【问题标题】:Is there a SQL query that returns client IP?是否有返回客户端 IP 的 SQL 查询?
【发布时间】:2015-02-28 16:32:32
【问题描述】:

我想知道是否有一个 SQL 查询可以显示编写查询的客户端的 IP。就像有人对我的数据库进行更改一样,我已经有一个日志表,但我想向其中添加 IP 地址。所以我想知道这是否可能。

【问题讨论】:

  • 除非 IP 地址存储在数据库中,否则不会。你了解 SQL 查询的工作原理吗?
  • 如果它是一个交互式会话,那么用“编写查询的客户端”来说话可能是有意义的。我认为您的意思是“提交查询”或“执行查询”。不幸的是,太多人已经准备好使用令人困惑的语言了。
  • 认为这是不可能的,但不得不问。我对 SQL 比较陌生。

标签: sql sql-server sql-server-2008-r2 ip


【解决方案1】:

如果使用 TCP 建立连接,下面的查询将返回客户端 IP 地址。请注意,此方法需要VIEW SERVER STATE 权限。

SELECT client_net_address
FROM sys.dm_exec_connections
WHERE 
    session_id = @@SPID
    AND net_transport = 'TCP';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-06
    • 1970-01-01
    • 2011-08-22
    • 2015-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多