微软SQL Server数据库引擎在Linux上启动失败

9
我在Ubuntu 16.04上安装了mssql,下面是sql server的细节。ms sql为(14.0.3015.40-1)SQL server 2017
当我运行配置命令#sudo /opt/mssql/bin/sqlservr-setup时,出现错误sudo: /opt/mssql/bin/sqlservr-setup: command not found.
我尝试停止并重新启动,但没有效果。
当我使用命令#systemctl status mssql-server检查状态时,我得到:
mssql-server.service - Microsoft SQL Server Database Engine
   Loaded: loaded (/lib/systemd/system/mssql-server.service; enabled; vendor preset: enabled)
   Active: inactive (dead) (Result: exit-code) since Fri 2018-02-02 16:15:29 IST; 4min 20s ago
     Docs: https://learn.microsoft.com/en-us/sql/linux
  Process: 28050 ExecStart=/opt/mssql/bin/sqlservr (code=exited, status=200/CHDIR)
 Main PID: 28050 (code=exited, status=200/CHDIR)

Feb 02 16:15:28 chetan-desktop systemd[1]: mssql-server.service: Unit entered failed state.
Feb 02 16:15:28 chetan-desktop systemd[1]: mssql-server.service: Failed with result 'exit-code'.
Feb 02 16:15:29 chetan-desktop systemd[1]: mssql-server.service: Service hold-off time over, scheduling restart.
Feb 02 16:15:29 chetan-desktop systemd[1]: Stopped Microsoft SQL Server Database Engine.
Feb 02 16:15:29 chetan-desktop systemd[1]: mssql-server.service: Start request repeated too quickly.
Feb 02 16:15:29 chetan-desktop systemd[1]: Failed to start Microsoft SQL Server Database Engine.

我已经搜索并尝试了所有可能的选项,但无法启动SQL服务器。请指导我如何解决这个问题。

如果命令路径错误,重启计算机或服务无法解决问题。请检查路径。 - Panagiotis Kanavos
3个回答

3

我也遇到了同样的两个问题。

首先,我参考的是非常老的文档,适用于RHEL的早期(预览)版本,因此我使用了错误的命令。正确的命令是:

/opt/mssql/bin/mssql-conf setup

其次,该服务未能启动是因为我的虚拟机可用的RAM不足(Linux上的SQL Server需要至少2GiB可用内存)。我被引用的文档错误地表示仅需0.5GiB,这是不正确的,而 journalctl 没有提供任何有关启动失败的有用信息。
在将可用内存配置为2GiB并使用正确的mssql-conf命令后,我成功地在Linux上配置和启动了MSSQL Server实例。
参考资料:

2
错误提示说在这个路径下找不到可执行文件,而不是服务无法启动。

根据Ubuntu的安装说明,您需要运行mssql-conf setup来配置服务器:

sudo /opt/mssql/bin/mssql-conf setup

不是sqlservr-setup

这项服务会删除现有的数据库吗?我无法启动我的数据库引擎,正在尝试重新配置它。 - Ucha

0

将我的虚拟机的RAM大小增加到3GB后,问题得到了解决。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接