【发布时间】:2019-07-25 09:45:34
【问题描述】:
我是一名开发人员,帮助 DBA 解决零星的 CPU 100% 问题。
请看下面的 SQL 查询:
Select spid,hostname,hostprocess,program_name,nt_username, blocked, waittime, waittype, loginame,cmd,spid,waittype,waittime,lastwaittype,cpu,physical_io,memusage,
login_time,last_batch,open_tran,status,net_address, t.text
from sys.sysprocesses sp
CROSS APPLY( select text from sys.dm_exec_sql_text(sp.sql_handle))t
where hostname = 'MyOtherDatabaseServer'
它返回一条记录。然后我在 MyOtherDatabaseServer 上执行以下操作:
EXECUTE sp_WhoIsActive
有没有办法可以将服务器 1 上的结果与服务器 2 上的结果联系起来?我希望 sp_WhoIsActive 会为每条记录返回一个进程 ID(这会将它们联系起来,因为第一个查询中有一个 HostProcess)。
在服务器 1 和 MyOtherDatabaseServer 之间有一个链接服务器设置。我正在尝试查找“服务器 1”上的哪个数据库正在使用链接服务器并在 MyOtherDatabaseServer 上运行查询。
【问题讨论】:
-
@Darko Martinovic,这有什么帮助?谢谢。
-
@Darko Martinovic,我不明白。这将如何将它们联系起来?
标签: sql sql-server sp-who2