有没有办法获取链接服务器的查询信息?

时间:2020-05-04 10:50:35

标签: sql sql-server

我正在尝试查询链接服务器上的信息。该代码在计算机上运行时可以正常运行,但在通过链接服务器进行连接时则无法运行:

SELECT
    r.session_id,
    r.start_time,
    r.total_elapsed_time,
    s.login_name,
    c.client_net_address,
    s.host_name,
    s.program_name,
    st.text
FROM
    [linked_server].[master].sys.dm_exec_requests r
INNER JOIN
    [linked_server].[master].sys.dm_exec_sessions s
ON
    r.session_id = s.session_id
LEFT JOIN
    [linked_server].[master].sys.dm_exec_connections c
ON
    r.session_id = c.session_id
OUTER APPLY
    [linked_server].[master].sys.dm_exec_sql_text(r.sql_handle) st where r.session_id  > 50

我得到的错误是:

Remote table-valued function calls are not allowed

其目的是为了跟踪在一组服务器内部运行的查询,以便我们监视影响(基本上是构建内部服务器监视工具)。我需要在链接服务器上更改设置吗?

1 个答案:

答案 0 :(得分:0)

根据this question,您可以尝试添加WITH (NOLOCK),也可以使用OPENQUERY