Ubuntu SQL Server错误代码解析
导读:Ubuntu 上 SQL Server 错误代码解析与处理 一 常见错误代码速查 错误码或现象 含义 快速定位 修复要点 0x2AF9(十进制 10905) Windows 套接字 WSAECONNREFUSED,目标主机明确...
Ubuntu 上 SQL Server 错误代码解析与处理
一 常见错误代码速查
| 错误码或现象 | 含义 | 快速定位 | 修复要点 |
|---|---|---|---|
| 0x2AF9(十进制 10905) | Windows 套接字 WSAECONNREFUSED,目标主机明确拒绝连接 | 在客户端执行:ping 主机;nc -zv 主机 端口;检查路由 | 确认实例在监听该端口、服务已启动、路由与防火墙放行;必要时启用/检查 SQL Server Browser 与端口直连配置 |
| Login timeout expired | 连接超时(默认 15 秒) | 提高 -l 超时、用 nc/telnet 测端口、抓包 | 增大超时、修复网络/端口不通、确保实例监听正确端口 |
| ODBC 18 SSL routines::certificate verify failed: self-signed certificate | 客户端无法验证服务器自签名证书 | 复现命令加 -vv 查看握手细节 | 测试环境可临时关闭加密验证;生产环境导入/信任服务器证书,或使用有效 CA 签发证书 |
| error while loading shared libraries: liblber-2.4.so.2 / libssl1.1 | 缺少依赖库 | ldd 检查 sqlcmd/驱动依赖 | 安装缺失库(如 libldap-2.4-2、libssl1.1),或升级驱动/系统兼容库 |
| Server is not found or not accessible | 实例名解析失败或服务不可达 | 核对主机名/实例名/端口;检查监听 | 使用“主机名\实例名,端口”或“IP,端口”直连;确认服务运行与监听端口一致 |
| Connection forcibly closed | 连接被对端强制关闭 | 检查网络稳定性、TLS/证书、协议卸载设置 | 排查网络丢包/中断、证书有效性、禁用有问题的协议卸载特性 |
| SQL Server 服务无法启动 | 实例未能初始化 | 查看 /var/log/sqlserver/MSSQLSERVER.log;检查资源与权限 | 释放磁盘/内存、校正目录权限、按日志报错逐项修复配置 |
| 以上条目涵盖了在 Ubuntu 环境下高频出现的错误码与现象、定位方法与修复思路,便于快速排查与恢复业务。 |
二 连接类错误深入解析
-
错误码 0x2AF9 与超时类问题
- 含义与判断:0x2AF9 即 WSAECONNREFUSED,常见于目标端口未监听、服务未启动、被防火墙拒绝或实例名解析失败。超时则多为网络不通或监听端口错误。
- 定位步骤:
- 基础连通:ping 主机;nc -zv 主机 端口;必要时 traceroute 检查路由。
- 监听确认:在服务器上查询错误日志或执行查询,确认实例正在监听指定端口(默认 1433 或命名实例的高位数端口)。
- 命令示例(Linux 需双反斜杠转义):
- /opt/mssql-tools/bin/sqlcmd -S “DEST\c745601-0,38970” -U “sa” -P “YourPassword” -d “master” -Q “SELECT @@SERVERNAME”
- 处理要点:确保实例启动并监听正确端口;放通防火墙;必要时启用/检查 SQL Server Browser;使用“主机,端口”直连可规避解析问题。
-
ODBC 18 自签名证书验证失败
- 典型报错:SSL Provider: [error:0A000086:SSL routines::certificate verify failed:self-signed certificate]
- 处理要点:
- 开发/测试:可临时关闭加密验证(不推荐生产)。
- 生产:将服务器证书导入客户端信任库,或使用有效 CA 签发证书,确保证书链完整与主机名匹配。
三 安装与驱动类错误
-
共享库缺失
- 现象:error while loading shared libraries: liblber-2.4.so.2 或 libssl1.1
- 处理:安装缺失依赖(如 libldap-2.4-2、libssl1.1),或使用与系统版本匹配的 ODBC 驱动版本,确保库路径可被加载。
-
SQL Server 服务无法启动
- 处理流程:
- 查看错误日志:/var/log/sqlserver/MSSQLSERVER.log,定位初始化失败原因。
- 检查资源:磁盘空间、内存、CPU 是否充足。
- 检查权限:安装目录与数据目录权限正确,服务账户具备所需权限。
- 处理流程:
四 高效排查命令清单
- 服务与日志
- 查看 SQL Server 错误日志:cat /var/log/sqlserver/MSSQLSERVER.log
- 查看系统日志:journalctl -u mssql-server --since “10 minutes ago” -e
- 网络连通
- 端口探测:nc -zv 主机 端口;或 telnet 主机 端口
- 路由跟踪:traceroute 主机
- 监听与实例
- 查询实例名:SELECT @@SERVERNAME
- 查询监听端口:EXEC xp_readerrorlog 0, 1, N’Server is listening on’
- 连接测试
- 直连测试:/opt/mssql-tools/bin/sqlcmd -S “主机,端口” -U “sa” -P “密码” -Q “SELECT 1” 以上命令覆盖服务状态、日志、网络与实例监听的关键环节,有助于快速定位问题根因。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu SQL Server错误代码解析
本文地址: https://pptw.com/jishu/752396.html
