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查看內存分配情況,識別內存泄漏的模塊(如緩存、線程池等)。