Ubuntu20安装SQL Server单用户模式下执行查询报错sa登录失败
问题根因
你执行的启动命令sudo -u mssql /opt/mssql/bin/sqlservr -f中的-f参数是SQL Server的特殊启动参数,用于以最小配置模式启动服务,该模式默认开启单用户限制,同一时间仅允许1个管理员身份的连接接入。你通过DbVisualizer首次建立连接时已经占用了唯一的连接配额,执行查询时JDBC驱动若触发新的连接请求,就会抛出18461号错误。
解决步骤
- 停止当前运行的单用户模式SQL Server:如果是前台启动的服务,直接按
Ctrl+C终止进程即可;如果是后台运行的,执行以下命令终止服务:sudo systemctl stop mssql-server - 以正常模式启动SQL Server,无需加
-f参数:sudo systemctl start mssql-server - 验证服务运行状态,出现
active (running)标识即为启动成功:sudo systemctl status mssql-server - 重新通过DbVisualizer建立连接,即可正常执行SQL查询。
注意事项
若你是因为需要修改系统配置、重置sa密码等操作才主动使用单用户模式启动,请在操作完成后及时切换回正常启动模式,单用户模式仅用于临时运维操作,不可作为日常服务运行模式。单用户模式下操作时不要开启多个客户端连接、不要打开多个查询窗口,避免占用唯一连接配额。
内容的提问来源于stack exchange,提问作者Devendranadh Nalam
相关产品推荐
相关产品推荐

