以下是CentOS上SQL Server故障的排查步驟:
檢查服務狀態
sudo systemctl status mssql-server # 查看服務是否運行
sudo systemctl start mssql-server # 若未運行,啟動服務
查看日志文件
/var/log/mssql/errorlog
,定位具體錯誤信息。journalctl -u mssql-server
,查看服務啟動過程及異常。驗證配置文件
/etc/mssql/mssql.conf.d/90-sqlservr.conf
,確保listen_addresses
為0.0.0.0
(監聽所有接口)。排查網絡與防火墻
ping 服務器IP
,確保服務器可達。telnet 服務器IP 1433
,確認1433端口監聽正常。sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
處理權限與文件問題
sudo chown -R mssql:mssql /var/opt/mssql
。sudo /opt/mssql/bin/sqlservr -m # 單用戶模式啟動
sudo /opt/mssql/bin/sqlcmd -S localhost -U SA -Q "DBCC CHECKDB('數據庫名') REPAIR_ALLOW_DATA_LOSS"
檢查客戶端工具與連接
msodbcsql
、sqlcmd
):sudo yum install -y mssql-tools unixODBC-devel
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
source ~/.bash_profile
```。
其他高級排查
getenforce
,若為Enforcing
可臨時設為Permissive
測試(生產環境需謹慎)。top
、df -h
命令查看。提示:若以上步驟無法解決,建議參考Microsoft官方文檔或聯系技術支持。