1. 检查SQL Server服务状态
使用systemctl status mssql-server(部分版本为sqlserver)命令确认SQL Server服务是否处于运行状态。若服务未启动,可通过sudo systemctl start mssql-server启动服务;若需重启服务以应用配置变更,可使用sudo systemctl restart mssql-server。
2. 查看系统与SQL Server日志
tail -f /var/log/syslog实时查看系统最新日志,或使用journalctl -u mssql-server过滤SQL Server相关系统日志,定位服务启动失败、权限不足等问题。/var/opt/mssql/log/errorlog,使用cat /var/opt/mssql/log/errorlog或tail -n 50 /var/opt/mssql/log/errorlog查看最近错误信息(如数据库损坏、连接超时等)。3. 验证网络连接与端口配置
ping <客户端IP>测试SQL Server主机与客户端的连通性,确保网络无中断。netstat -tulnp | grep 1433确认端口是否处于监听状态;若端口未监听,需检查SQL Server配置是否启用TCP/IP协议(通过mssql-conf set network.tcpport 1433设置端口)。sudo ufw allow 1433/tcp允许防火墙放行SQL Server端口,避免因防火墙拦截导致连接失败。4. 监控系统资源使用情况
top(或htop,需安装)查看CPU、内存占用率,识别占用过高资源的进程(如SQL Server进程占用超过80%内存可能导致性能下降);使用df -h检查磁盘空间,确保SQL Server数据目录所在分区有足够空间(建议预留20%以上空闲空间)。vmstat 1 5(每秒采样1次,共5次)监控系统级资源使用趋势,iostat -x 1监控磁盘I/O负载,辅助判断资源瓶颈。5. 检查SQL Server配置参数
使用mssql-conf list命令列出所有SQL Server配置项,重点检查以下关键配置:
memory.memorylimitmb(SQL Server最大内存,建议设置为物理内存的70%-80%,避免占用过多系统内存);network.tcpport(确认端口是否与客户端连接配置一致);filelocation.defaultbackupdir(确保备份目录存在且有写入权限)。sudo systemctl restart mssql-server。6. 使用SQL Server内置工具诊断
sqlcmd工具执行DMV查询,获取实时性能信息。例如:
SELECT * FROM sys.dm_exec_requests查看当前正在执行的请求(识别长时间运行的查询);SELECT * FROM sys.dm_exec_sessions查看当前会话信息(识别异常会话);SELECT * FROM sys.dm_os_performance_counters查看SQL Server性能计数器(如缓冲区命中率、锁等待次数)。7. 处理常见问题
libssl1.0.0等库,可通过sudo apt install libssl1.0.0安装对应依赖(Debian 9及以上版本可能需要手动添加旧版库源)。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager下的PendingFileRenameOperations键值,再重新安装。DBCC MEMORYSTATUS(需通过sqlcmd执行)或sys.dm_os_memory_clerks查看内存分配情况,识别内存泄漏的模块(如缓存、线程池等)。