在 Debian 上“监控 SQL Server”,通常可以从 系统层、SQL Server 自身、日志、性能 几个维度来做。下面按常见实践给你一个完整思路。
Debian 上跑 SQL Server 一般是:
1433检查是否运行:
systemctl status mssql-server
systemctl status mssql-server
journalctl -u mssql-server -f
ss -tunlp | grep 1433
top
htop
free -h
df -h
iostat -x 1
sqlcmd -S localhost -U sa -P '密码'
SELECT
session_id,
login_name,
host_name,
status
FROM sys.dm_exec_sessions;
SELECT
r.session_id,
r.status,
r.command,
t.text
FROM sys.dm_exec_requests r
CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) t;
SELECT
TOP 10
total_elapsed_time / execution_count AS avg_time,
execution_count,
text
FROM sys.dm_exec_query_stats
CROSS APPLY sys.dm_exec_sql_text(sql_handle)
ORDER BY avg_time DESC;
cat /var/opt/mssql/log/errorlog
实时查看:
tail -f /var/opt/mssql/log/errorlog
# 示例
./mssql_exporter \
--connection-string="sqlserver://sa:password@localhost:1433"
配合 Grafana 可出图:
常见告警项:
#!/bin/bash
systemctl is-active mssql-server || echo "SQL Server DOWN"
ss -tunlp | grep 1433 || echo "Port 1433 not listening"
df -h | grep /var/opt/mssql || true
如果你能告诉我:
我可以直接给你一套 可落地的监控方案 + 配置文件。