SQL Server触发器 - 连接信息

时间:2010-02-10 14:28:51

标签: sql sql-server connection-string

是否可以获取MSSQL连接信息?
不是onli SUSER_ID(),SUSER_NAME(),ORIGINAL_LOGIN(),还有其他类似:

  • IP
  • 连接字符串
  • 等..

2 个答案:

答案 0 :(得分:3)

您可以从sys.dm_exec_connections获取更多信息:

e.g。

SELECT * 
FROM sys.dm_exec_connections 
WHERE session_id = @@SPID

这将获得当前进程(SPID)的连接信息。 这不会提供完整的连接字符串,但会提供更多信息,如IP地址(client_net_address)。

这适用于SQL Server 2005及更高版本。

答案 1 :(得分:2)

您没有提到您正在使用的SQL Server版本,但这应该适用于SQL 2005及更高版本。您可以根据需要更改@@ SPID。

SELECT
    conn.session_ID as SPID,
    conn.client_net_address as IPAddress,
    sess.host_name as MachineName,
    sess.program_name as ApplicationName,
    login_name as LoginName
FROM
    sys.dm_exec_connections conn
INNER JOIN sys.dm_exec_sessions sess ON
    conn.session_ID = sess.session_ID
WHERE
    conn.session_ID = @@SPID