从 SQL Server 检查后台进程

问题描述 投票:0回答:5

我有一个后台进程正在运行,它运行时可以在任务管理器中看到。我需要从我的数据库检查该进程是否正在运行 我尝试过以下查询

select * from sys.dm_os_threads
select * FROM sys.dm_os_tasks

但它没有显示系统上运行的所有进程

sql-server background-process taskmanager
5个回答
0
投票

我有一个后台进程正在运行,它运行时可以在任务管理器中看到。我需要从我的数据库中检查该进程是否正在运行

我希望您谈论的是后台 SQL Server 进程。以下查询仅显示与 SQL Server 相关的信息

通过查询DMV可以看到SQL Server上运行的所有进程

select * from  sys.dm_exec_requests
select * from sys.dm_exec_sessions 
select * from sys.dm_exec_connections

您可以在线阅读有关这些 DMV 文档的书籍


0
投票

使用此查询

select 
                 tblSysProcess.cmd
               , tblSysProcess.physical_io IOUsage
               , tblSysProcess.cpu as CPUusage
               , tblSysProcess.waittype as waitType
               , tblSysProcess.waittime as waitTime
               , tblSysProcess.lastwaittype as lastWaitType
               , tblSysProcess.waitResource as waitResource
               , tblSysProcess.dbid as databaseID
               , case
                     when (dbid > 0) then db_name(dbid) 
                     else ''
                 end as dbName
               , memusage as memUsage
               , status

       from  master.dbo.sysprocesses tblSysProcess

       where 

              (

                  --background process    
                  (tblSysProcess.spid < 50)

              )

0
投票
select db_name(dbid),cmd,spid,status 
from 
    sys.sysprocesses 
        where 
            db_name(dbid) = 'dbname' and status = 'background'

0
投票

所以看起来您并不是在尝试查看 SQL Server 进程,而是在计算机上查看另一个应用程序的另一个进程,内置的 DMV 或函数都无法在本地向您显示此信息。你有几个选择,一个是编写一个 CLR 存储过程或函数来检查进程,另一个是使用 xp_cmdshell 来获取任务列表,你可以这样做:

EXEC sp_configure 'show advanced options', 1
RECONFIGURE
GO
EXEC sp_configure 'xp_cmdshell', 1
RECONFIGURE
GO
EXEC xp_cmdshell 'tasklist.exe'
GO
EXEC sp_configure 'xp_cmdshell', 0
RECONFIGURE

这将列出计算机上所有正在运行的进程,如果需要,您可以将这些数据放入表格中进行进一步分析,或者您可以使用tasklist.exe参数来查找您感兴趣的进程只要记住在不需要时关闭 xp_cmdshell,因为它可能存在安全风险。


-1
投票

试试这个;

EXEC sp_who1

EXEC sp_who2

SELECT *
FROM   MASTER..sysprocesses

SELECT *
FROM   sys.dm_exec_sessions
WHERE  is_user_process = 1
© www.soinside.com 2019 - 2024. All rights reserved.