以下是CentOS中SQL Server故障排查指南:
檢查服務狀態
sudo systemctl status mssql-server # 查看服務是否運行
sudo systemctl start mssql-server # 啟動服務(若未運行)
查看日志文件
/var/log/mssql/errorlog
,分析錯誤信息定位問題。journalctl -u mssql-server
查看系統日志。驗證網絡與端口
ping <服務器IP>
。telnet <服務器IP> 1433
(默認端口),確保防火墻放行:sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
檢查權限與配置
/var/opt/mssql
屬主為 mssql:mssql
。/etc/mssql/mssql.conf.d/90-sqlservr.conf
檢查 listen_addresses
是否為 0.0.0.0
。處理數據庫問題
sudo /opt/mssql/bin/sqlservr -m # 單用戶模式
sqlcmd -S localhost -U SA -Q "DBCC CHECKDB ('數據庫名') REPAIR_ALLOW_DATA_LOSS"
```(注意:`REPAIR_ALLOW_DATA_LOSS` 可能導致數據丟失,需提前備份)
監控系統資源
top
、free -m
、df -h
檢查CPU、內存、磁盤空間是否充足。客戶端工具驗證
msodbcsql
、sqlcmd
),測試連接:sqlcmd -S localhost -U SA -P '密碼'
其他高級排查
getenforce
,若為 Enforcing
可臨時設為 Permissive
模式。提示:操作前建議備份重要數據,若問題無法解決可參考微軟官方文檔或社區論壇。