sql - 有没有办法通过 tsql 获取 Windows 任务管理器详细信息?

标签 sql sql-server tsql windows-10

我无法访问客户端的Windows远程计算机,我仅通过tsql连接他们的数据库服务器。我需要检查哪些进程占用了更多内存并通知他们。 有没有tsql查询来获取windows进程?

最佳答案

是的,这是可能的。您可以调用TASKLIST命令通过xp_cmdshell :

exec master..xp_cmdshell 'TASKLIST'

输出:

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
System Idle Process              0                            0          4 K
System                           4                            0        140 K
smss.exe                       212                            0        956 K
csrss.exe                      332                            0      5,560 K
.....
sqlservr.exe                  1492                            0     92,012 K
sqlservr.exe                  1532                            0     95,928 K
.....

注意:您应该具有正确的权限和服务器配置选项才能运行 xp_cmdshell。阅读MSDN中的备注部分以了解如何启用xp_cmdshell

关于sql - 有没有办法通过 tsql 获取 Windows 任务管理器详细信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42640548/

相关文章:

sql-server - 从数据库中不存在的附加预定义记录的表中选择

sql - SQL中的异或联接

sql - Oracle - 截断全局临时表

sql - 如何将数据库从格式 is 转换为 db3?

sql-server - 从文本列中仅选择第一行直到 CR/LF 的字符

c++ - 通过 SQL 查询/C++ 插入 'image' 数据类型值

sql - 没有主键的外键引用

SQL 使用 NVL 替换 NULL,在正确检查 where 子句中的替换值时出现问题

sql-server - OR 2 个 0,1 字符串的最佳方法

sql - 如何在sql中比较小时和分钟